Features

Run it on your own server

ShowMeTheMoney, the envelope budgeting app, also runs as a server: one container and PostgreSQL on your own hardware, and the whole household budgets together from their own browsers.

One budget for the whole household

The desktop app is one budget on one computer. A server is for when more than one person spends from the same envelopes: everyone sees the same balances, imports their own statements and files their own spending, each signed in as themselves.

  • Up to four people, each with their own sign-in. The first account created becomes the administrator, who invites the rest.
  • Up to five books: personal, joint, a business, a rental, each with its own accounts and envelopes.
  • Every feature of the desktop app, from PDF statement import to reconciliation.

What you run

  • One container, ohbrer/showmethemoney, for linux/amd64 and linux/arm64 (a Raspberry Pi works), serving the app and its API on one port.
  • PostgreSQL for the data. The database is set up and upgraded by the app itself when it starts; there is no separate migration step.
  • Server settings live in the environment, so your Compose file is the one place they're kept; none of them can be changed from inside the app.
  • HTTPS from your reverse proxy (Caddy, Traefik, nginx). The app trusts the forwarded address only from proxies on your own network by default.

The ready-made Docker Compose setup is on the download page.

Signing in

  • Passwords, single sign-on, or both: email and password, and OpenID Connect for an identity provider you already run (Authentik, Keycloak and the like). Each can be turned on or off.
  • Two-factor sign-in with an authenticator app or emailed codes, with recovery codes; you can require it for everyone.
  • Sessions that end after a stretch without use and after a maximum age, both yours to set, with a warning before they do.
  • Limits on sign-in attempts, passwords checked against the 10,000 most common, and a history of every sign-in attempt for the administrator.
  • Removing someone disables their account at once, everywhere, while their past reconciliations and imports keep their name.

Settings worth knowing

  • APP_SECRET_KEY: encrypts the secrets the app stores (a bank connection's access, authenticator keys). Keep a copy with your backups.
  • SMTP_*: optional mail, for invitations, emailed sign-in codes and statement reminders.
  • SERVE_OVER_TLS and TRUSTED_PROXIES: tell the app it is behind HTTPS and which proxy to believe.

Backups

Everything lives in PostgreSQL, so back it up the way you back up any Postgres database (pg_dump, or your host's backups). Each book can also be exported from the app as one file, encrypted with a password if you like, and imported on another server or the desktop app.

Updates and your licence

  • Administrators are told in the app when a new version is out; you update by pulling the new image.
  • One subscription covers one household's installation: $39 a year or $3.99 a month, after a free 30-day trial. If it lapses, everything stays readable and exportable. See pricing.

Get started