Deploy Sure Finance | (Just Updated) Maybe Successor, Imports Actually Run
Maybe successor: net worth, budgets, imports that actually run
sure
Just deployed
/rails/storage
redis
Just deployed
/data
postgres
Just deployed
/var/lib/postgresql
Deploy and Host Sure Finance on Railway
Sure is the maintained community fork of Maybe Finance — a self-hosted personal finance app that tracks accounts, net worth, budgets, transactions and investments in one place, with your data staying on infrastructure you control. This template runs the maintained we-promise/sure build, pinned to a specific image digest so a deploy today boots the same code as the deploy that was tested.
About Hosting Sure Finance
Sure is a Rails 8 application that needs Postgres for its data, Redis for its background job queue, and a Sidekiq worker to actually run those jobs — account syncs, CSV imports, scheduled valuations and data cleanup. Splitting the web process and the worker into two separate containers is the obvious layout, and it is also where self-hosted Sure quietly breaks: uploaded import files land on the web container's disk, and the worker in a different container cannot read them.
This template runs Puma and Sidekiq side by side in a single service with a persistent volume mounted at /rails/storage, so the worker sees every file the web app writes and those files survive a redeploy. That is three services instead of four, which is also one less service on your bill. Database migrations run at start, the service exposes Rails' own /up health endpoint so Railway holds traffic until the app is genuinely ready, and Active Record encryption keys are provisioned as their own generated secrets rather than being derived from SECRET_KEY_BASE — so bank tokens, API keys and MFA secrets are encrypted at rest and stay readable if you ever rotate the app secret.
Memory use measured on this build is roughly 630 MB for the Sure service with the web process and worker together, so it fits Railway's Trial and Hobby plans. It does not fit the 0.5 GB Free plan cap.
Why Deploy Sure Finance on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Sure Finance on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Common Use Cases
- Track every bank, credit card, investment and property account in one net-worth view, without handing the data to a third-party aggregator.
- Import years of history from CSV exports and let the background worker process them — the import path works here because the worker can read what the web app uploaded.
- Run monthly budgets and category rules against real transactions, with scheduled syncs and valuations handled by Sidekiq cron jobs.
- Move off Maybe Finance, whose upstream is no longer maintained, onto the community fork that still ships releases.
Dependencies for Sure Finance Hosting
- Postgres 17 for application data
- Redis 8 for the Sidekiq job queue
- A persistent volume for uploaded files and imports
Deployment Dependencies
- Sure source and releases: https://github.com/we-promise/sure
- Self-hosting docs: https://github.com/we-promise/sure/blob/main/docs/hosting/docker.md
Implementation Details
First boot runs rails db:prepare before Puma starts, so the schema is loaded before the first request is served. Open the deployed URL and create the first account through the registration page — that account becomes the owner of the instance. Optional AI features are off unless you supply OPENAI_ACCESS_TOKEN; leaving it unset costs nothing and disables the chat and rule-suggestion features only.
Keep the three ACTIVE_RECORD_ENCRYPTION_* variables. They are generated once at deploy time, and replacing them makes previously encrypted values unreadable.
Template Content
PORT
DB_PORT
POSTGRES_DB
SELF_HOSTED
POSTGRES_USER
RAILS_FORCE_SSL
RAILS_ASSUME_SSL
ACTIVE_STORAGE_SERVICE
redis
redis:8.2.1postgres
postgres:17.10-trixiePOSTGRES_DB
POSTGRES_USER
