$ ./fintrack self-host
A personal finance tracker that runs on your own server
For people who want a clear view of their money without handing their bank data to another app. Self-host it with Docker or any Node.js host and a PostgreSQL database.

$ cat features.md
- Track several bank accounts and cards, each in its own currency, and log income, expenses and transfers.
- Dashboard with total balance, six months of income vs. expenses, and spending by category.
- Categories, a monthly budget per category, and recurring payments you log with one click.
- Import PDF bank statements with a built-in parser (no AI service): transactions are categorised and duplicates skipped. Export everything to CSV.
- Optional open-banking sync via TrueLayer (sandbox or live), on demand or daily, with your own developer credentials.
- Login per user; your financial data stays in your own PostgreSQL database.
$ cat why.md
I wanted to see where my money goes without giving yet another company access to my bank account. FinTrack started as my own tracker; this is the cleaned-up version anyone can run.
$ self-host-it
- Requirements
- Docker with Compose, or Node.js 20+ and PostgreSQL 13+ (a free Neon database works). Minimum config: DATABASE_URL, NEXTAUTH_SECRET, NEXTAUTH_URL.
- Built with
- Next.js, PostgreSQL
- License
- MIT
The repository goes public on GitHub soon. Until then, ask me for the code and I'll send you access.
Get the source