ezbookkeeping
Self-HostedOpen-source self-hosted personal finance tracker
Overview
ezbookkeeping is an open-source self-hosted personal finance manager for users who prioritize data privacy. It allows tracking income, expenses, and categorizing transactions with customizable labels. Key features include multi-account support, multi-currency compatibility, and basic financial reports (monthly summaries, expense breakdowns). Deployment is simple via Docker, or manual setup using a LAMP stack (PHP, MySQL, Apache/Nginx). It’s lightweight, ad-free, and ideal for avoiding cloud-based tools like Mint or YNAB.
Self-Hosting Resources
Below is a reference structure for docker-compose.yml.
⚠️ Do NOT run blindly. Replace placeholders with official values.
version: '3'
services:
ezbookkeeping:
image: <OFFICIAL_IMAGE_NAME>:latest
container_name: ezbookkeeping
ports:
- "8080:<APP_INTERNAL_PORT>"
volumes:
- ./data:/app/data
restart: unless-stopped Key Features
- Track income/expenses with customizable categories
- Multi-account & multi-currency support
- Dockerized deployment for quick self-hosting
Frequently Asked Questions
? Is ezbookkeeping hard to install?
No—ezbookkeeping supports Docker deployment, which simplifies setup with a single command. For manual installation, you’ll need a LAMP stack (PHP 7.4+, MySQL 5.7+, Apache/Nginx), but the repo provides clear documentation for both methods.
? Is it a good alternative to Mint?
Yes, if you value data privacy. Unlike Mint (cloud-based, ad-supported), ezbookkeeping keeps your data local. However, it lacks Mint’s automatic bank sync—you’ll need to enter transactions manually or import CSV files from your bank.
? Is it completely free?
Absolutely! ezbookkeeping is licensed under the MIT License, so it’s free to use, modify, and self-host without any hidden costs or premium features locked behind paywalls.
Top Alternatives
People Also Ask about ezbookkeeping
Tool Info
Pros
- ⊕ Privacy-first (local data storage, no third-party access)
- ⊕ No subscription fees or premium tiers
Cons
- ⊖ Requires basic server setup (Docker or LAMP stack)
- ⊖ Lacks automatic bank sync (manual entry/CSV import only)