Deploy Budget Board
Self-hosted personal finance and budgeting with bank sync and PostgreSQL
Just deployed
Just deployed
/var/lib/postgresql
Just deployed
Deploy and Host Budget Board on Railway
Budget Board is an open-source, self-hosted personal finance app: track accounts, transactions and net worth, set monthly budgets by category, plan goals, and pull in bank data automatically through SimpleFIN or LunchFlow. This template deploys it ready for the internet: your owner account is created from the email you enter and a generated password, and public sign-up is closed. It is a community-maintained template and is not affiliated with the Budget Board project.
About Hosting Budget Board
Budget Board is three pieces: an ASP.NET Core API server, a React web app served by nginx (which also proxies
/api to the server), and PostgreSQL. Only the web app gets a public domain; the API server and the database stay
on Railway's private network. All your financial data lives in PostgreSQL on a Railway volume.
A stock Budget Board on a public URL lets anyone who finds it create an account. Its only switch against that,
DISABLE_NEW_USERS, also blocks the very first account. This template solves both: on an empty database the server
first starts on loopback only, registers your owner account, then restarts with sign-up disabled, so registration
is never reachable from the network. The web app's nginx is also set to look up the API server at request time, so
it keeps working when the server is redeployed and its private address changes.
Common Use Cases
- Replace a budgeting spreadsheet with monthly category budgets, rollovers and spending trends
- Track every bank, card, loan and investment account plus assets in one net-worth view
- Sync transactions automatically from your banks with a SimpleFIN Bridge or LunchFlow token
- Import CSV exports from your bank and auto-categorise them with rules
Dependencies for Budget Board Hosting
- PostgreSQL 16: included, on Railway's private network, with its own volume
- Optional: a SimpleFIN Bridge or LunchFlow account for automatic bank sync (configured in the app)
- Optional: an SMTP account for e-mail (password resets) and an OIDC provider for single sign-on
Deployment Dependencies
- Budget Board (AGPL-3.0): https://github.com/teelur/budget-board
- Template source, images and tests: https://github.com/youssefsiam38/budget-board-railway
Implementation Details
First sign-in: enter your email as OWNER_EMAIL when deploying. After the deploy turns green, open the server
service's Variables, copy OWNER_PASSWORD, and sign in at the client service's domain. You can change the
password inside Budget Board; the variable is only used to create the account on an empty database.
What's configured for you: the official Budget Board server and client images pinned by digest and used
unmodified, plus a small start-up script on each; a generated PostgreSQL password; database migrations on every
start; sign-up closed on the server and hidden in the web app; the API server private on port 8080 (dual-stack, as
Railway's private network needs); a health check on the server's /health and the web app's /.
Bank sync: SimpleFIN and LunchFlow are set up per user inside Budget Board (Settings), and the server syncs
every 8 hours (SYNC_INTERVAL_HOURS). Nothing to configure at deploy time.
Optional settings on the server service: EMAIL_SENDER, EMAIL_SENDER_USERNAME, EMAIL_SENDER_PASSWORD,
EMAIL_SMTP_HOST, EMAIL_SMTP_PORT for e-mail; OIDC_ENABLED, OIDC_ISSUER, OIDC_CLIENT_ID,
OIDC_CLIENT_SECRET for single sign-on (also set VITE_OIDC_ENABLED, VITE_OIDC_PROVIDER, VITE_OIDC_CLIENT_ID
on client). Turning on e-mail makes Budget Board require confirmed addresses, so confirm the owner's email when
prompted.
Tested on a live deployment of this template over HTTPS: owner sign-in, refused sign-up and anonymous API access, creating an institution, account, transaction and budget, and all of it surviving a redeploy.
Why Deploy Budget Board 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 Budget Board 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.
Template Content
OWNER_EMAIL
Your email. The owner account is created with it on the first start; you sign in with it.
