v1.2.3Latest release

Your finances. Your server. One container.

A self-hosted, multi-currency expense tracker. Your entire financial history stays on a machine you control — not in someone's cloud.

Free · MIT · no sign-up — or poke the live demo with [email protected] / demo

41 stars2 forks2 contributors
localhost:3000
The Savvy dashboard: multi-currency balances, net-worth trend, spending by category and a recent-transactions feed.
Features

Everything you'd self-host it for

Built for real money management — multi-currency, multi-user and analytics that go beyond a balance number.

Multi-currency
Track accounts in any currency with automatic exchange-rate updates and a single consolidated net worth.
Recurring & automation
Schedule recurring transactions and let automation rules categorize and tag entries the moment they land.
Debt & budget tracking
Follow debts with full payment history and keep budgets honest with live progress against every category.
CSV import
Import statements from any bank with built-in duplicate detection — no double-counted transactions.
Cash-flow analytics
Sankey cash-flow diagrams, net-worth trends and category breakdowns that actually explain where money goes.
Multi-user access
Invite your household or team with role-based permissions — one instance, scoped access for everyone.
Two-factor auth
TOTP-based 2FA protects the instance that holds your entire financial history. On by choice, not an upsell.
Backups via UI
One-click database backups straight from the dashboard. Your data stays portable and yours to keep.
One container
Laravel + SQLite in a single Docker image. No external services, no managed database, no moving parts.
Inside Savvy

See exactly where the money goes

Not just a balance number — Sankey cash-flow, native multi-currency and analytics that actually explain your money.

Savvy's Money Flow report: a Sankey diagram tracing income through to every spending category and savings.
Money Flow. Every dollar traced from income to where it lands — as a Sankey diagram, not a pie chart you can't read.
Savvy's Currencies settings: CHF, EUR, GBP, JPY, PLN, UAH and USD with live exchange rates and a base currency.
Native multi-currency. Hold accounts in any currency with live rates and a single consolidated net worth.
Savvy's dashboard: spending-by-category breakdown, live budget progress and a recent-transactions feed.
Built on shadcn/ui. A fast, keyboard-friendly interface that's genuinely pleasant to live in day to day.
Why self-host

Your finances belong to you

The whole point of self-hosting money software: control, ownership and privacy that no SaaS can promise.

Your data, your server
Financial history never leaves your machine. SQLite on a volume you control — back it up, move it, own it.
No vendor lock-in
MIT-licensed and open source. Export anytime, fork it, run it forever. No subscription can take it away.
Privacy by default
No telemetry, no third-party trackers, no ad networks reading your spending. Nothing phones home.
Comparison

How Savvy stacks up

Open source and self-hosted like the best of them — with full multi-currency and true multi-user that most others simply don't offer.

FeatureSavvyFirefly IIIActual BudgetYNAB
PriceFreeFreeFree~$109 / yr
Self-hosted Yes Yes Yes No
Open sourceMITAGPLMIT No
Your data, your server Yes Yes Yes No
Multi-currency Yes Yes No No
Auto currency conversion YesBase only No No
Multi-user & roles Yes No NoShared
Single-container deploy YesNeeds DB Yes
Image size~65 MBImage + DB~60 MB

Compiled from public information, May 2026. Spotted something out of date? Open an issue.

Quick start

Up and running in one command

One image, no external database — your own finance tracker before your coffee gets cold.

install
$ docker run -d -p 3000:80 truenormis/savvy:latest

Copied it? A star is the one-click way to say thanks — and it's how the next self-hoster finds Savvy.

Star on GitHub41

Need the details? Read the documentation.

Contributors

Built by 2 people — thank you

Savvy exists because of everyone who shipped a commit, filed an issue or fixed a typo. Every avatar below moved the project forward.

truenormis
atom363
Pull requests welcomeBecome a contributor

Own your finances. Star it. Run it.

One Docker command stands between you and a private, multi-currency finance tracker you fully control.