https://github.com/JSONbored/sure-aio
The absolute easiest way to deploy Sure (Maybe Finance fork) on Unraid. A 100% self-contained mega-container with automated PostgreSQL, Redis, Rails, and Sidekiq orchestration. No external databases required.
https://github.com/JSONbored/sure-aio
ai-finance budgeting docker finance-app finance-tracker fire homelab maybe-finance open-source-finance personal-finance postgresql redis ruby-on-rails s6-overlay self-hosted sure-aio sure-finance unraid unraid-docker-template unraid-templates
Last synced: about 1 month ago
JSON representation
The absolute easiest way to deploy Sure (Maybe Finance fork) on Unraid. A 100% self-contained mega-container with automated PostgreSQL, Redis, Rails, and Sidekiq orchestration. No external databases required.
- Host: GitHub
- URL: https://github.com/JSONbored/sure-aio
- Owner: JSONbored
- Created: 2026-03-24T09:15:26.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-30T11:03:27.000Z (about 1 month ago)
- Last Synced: 2026-04-30T11:23:39.984Z (about 1 month ago)
- Topics: ai-finance, budgeting, docker, finance-app, finance-tracker, fire, homelab, maybe-finance, open-source-finance, personal-finance, postgresql, redis, ruby-on-rails, s6-overlay, self-hosted, sure-aio, sure-finance, unraid, unraid-docker-template, unraid-templates
- Language: Python
- Homepage: https://aethereal.dev
- Size: 201 KB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- Security: SECURITY.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# sure-aio

An Unraid-first, single-container deployment of [Sure](https://github.com/we-promise/sure) for people who want the easiest reliable self-hosted install without manually wiring PostgreSQL and Redis on day one.
`sure-aio` packages the Rails web app, Sidekiq worker, PostgreSQL, and Redis into one Unraid template with persistent appdata paths. The wrapper is opinionated for a predictable beginner install, but it does not hide the real tradeoffs: backups still matter, reverse-proxy and SMTP settings still need operator judgment, and bundled services are convenience infrastructure rather than the ideal long-term topology for every deployment.
## What This Image Includes
- Sure web UI on port `3000`
- bundled Sidekiq worker supervised in the same container
- embedded PostgreSQL and Redis for the default beginner path
- persistent Rails storage plus separate PostgreSQL and Redis appdata mounts
- `SKYLIGHT_ENABLED=false` by default so AIO users are not forced into external APM setup
- Unraid CA template at [sure-aio.xml](sure-aio.xml)
## Beginner Install
1. Install the Unraid template.
2. Generate `SECRET_KEY_BASE` with `openssl rand -hex 64`.
3. Leave the default appdata paths in place for first boot.
4. Click Apply and wait for initialization to finish.
5. Open `http://SERVER_IP:3000`.
6. Move to Advanced View only when you actually need external services or upstream feature overrides.
## Power User Surface
This repo is not a stripped-down wrapper. Advanced View exposes the broader practical Sure self-hosting surface plus AIO defaults for the bundled PostgreSQL + Redis path. Useful references:
- [Power User Guide](docs/power-user.md) for external DB/Redis, AI routing, object storage, SSO, SMTP, and custom CA setup
- [pgvector behavior notes](docs/pgvector.md) for the internal-vs-external vector-store path
- `SKYLIGHT_ENABLED=false` is exposed intentionally so AIO users are not forced into upstream Skylight APM defaults
Some settings are deliberately template-owned rather than UI-owned. When upstream sees those environment variables, it may disable the matching app control and treat the container value as source of truth. That is expected in this wrapper.
## Data Persistence
Persistent data lives under the normal Unraid appdata paths:
- Rails uploads: `/mnt/user/appdata/sure-aio/system`
- PostgreSQL data: `/mnt/user/appdata/sure-aio/postgres`
- Redis data: `/mnt/user/appdata/sure-aio/redis`
If you care about the instance, back up all three paths.
## Runtime Notes
- the bundled PostgreSQL and Redis services keep first boot simple, but more advanced deployments may still prefer external infrastructure
- `SECRET_KEY_BASE` is required; do not rotate it casually on a live deployment
- `RAILS_ASSUME_SSL` and `RAILS_FORCE_SSL` should stay `false` unless you are intentionally fronting the app with a correct HTTPS-terminating reverse proxy
- pgvector and qdrant-backed document search are advanced paths, not beginner defaults
## Publishing and Releases
- wrapper releases follow the upstream version plus an AIO revision, such as `v0.6.9-aio.1`
- Stable upstream monitoring, release preparation, registry publishing, and catalog sync are owned by `aio-fleet` from `.aio-fleet.yml`.
- `main` publishes `latest`, the exact upstream version tag, an explicit AIO packaging line tag, and `sha-`
- Changelog generation and XML `` sync are run centrally by `aio-fleet` during release preparation.
See [docs/releases.md](docs/releases.md) for the central release process details.
## Validation
Required local validation is `aio-fleet` first:
```bash
python3 -m venv .venv-local
.venv-local/bin/pip install -e "../aio-fleet[app-tests]"
.venv-local/bin/pytest tests/integration -m integration --junit-xml=reports/pytest-integration.xml -o junit_family=xunit1
cd ../aio-fleet
.venv/bin/python -m aio_fleet validate-repo --repo sure-aio --repo-path ../sure-aio
.venv/bin/python -m aio_fleet trunk run --repo sure-aio --repo-path ../sure-aio --no-fix
```
CI cost model:
- relevant PRs and `main` pushes run the fast validation layers first
- Docker-backed integration tests run for build-relevant changes, for `main` release-metadata commits when publish is still in play, and for manual dispatches
- image publish stays gated behind the integration suite instead of treating skipped integration as acceptable
- local Docker validation stays explicit instead of hiding inside every routine commit hook
## Support
- Repo issues: [JSONbored/sure-aio issues](https://github.com/JSONbored/sure-aio/issues)
- Unraid support thread: [Sure-AIO support thread](https://forums.unraid.net/topic/198074-support-sure-aio-all-in-one-sure-for-unraid/)
- Upstream app: [we-promise/sure](https://github.com/we-promise/sure)
## Funding
If this work saves you time, support it here:
- [GitHub Sponsors](https://github.com/sponsors/JSONbored)
## Star History
[](https://www.star-history.com/#JSONbored/sure-aio&type=date&legend=top-left)