Get started
Self-host Savvy — a multi-currency expense tracker that runs as a single Docker container with SQLite. Up and running in one command.
Savvy is a free, MIT-licensed, self-hosted expense tracker with full multi-currency support. It runs as one Docker container — Laravel + SQLite, no external database, cache or queue service — so your entire financial history stays on a machine you control.
Quick start
Run the container and open the app:
docker run -d -p 3000:80 -v savvy-data:/data truenormis/savvy:v1.2.3Then open localhost:3000 and create your account. The image tag above always points at the latest published release.
Production deploys
The one-liner is perfect for a first look. For anything you intend to keep,
use the Docker Compose setup — it gives you a persistent
volume, a public APP_URL, a timezone and a health check.
What you get
- Multi-currency — any fiat or crypto, with automatic exchange-rate updates and a single consolidated net worth.
- Recurring & automation — scheduled transactions plus rules that categorize and tag entries automatically.
- Debts, budgets, categories & tags — flexible organization with live budget progress and full debt payment history.
- Multi-user — share with family or a team, with role-based access.
- Rich analytics — Sankey cash-flow diagrams, heatmaps and net-worth trends.
- CSV import — pull in bank exports with duplicate detection.
- Backups & 2FA — UI-driven database backups and TOTP two-factor auth.
Next steps
- Installation — Docker Compose, environment variables and health checks.
- Reverse proxy — HTTPS with Traefik or Nginx Proxy Manager.
- Kubernetes — single-replica Deployment with probes.
- Backups — back up and restore your SQLite database safely.
- Updating — pull a new image without losing data.
Prefer to poke at a running instance first? Try the
live demo with [email protected] / demo.