Savvy Docs

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.3

Then 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.

On this page