Deploy Budget Board

Self-hosted personal finance and budgeting with bank sync and PostgreSQL

Deploy Budget Board

Just deployed

/var/lib/postgresql

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

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

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
47
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51