Self-Host Your Finances with a Clean, Open Source Ledger
Let's be honest: managing personal finances can be a chore. Many of us want more insight into our spending but are hesitant to hand over all our transaction data to yet another cloud service. What if you could have a clean, modern interface for tracking your money, but keep all that sensitive data on your own server? That's exactly the itch that ezBookkeeping aims to scratch.
It's a self-hosted, web-based personal finance and bookkeeping application. Think of it as a more user-friendly, visually oriented alternative to complex tools like GnuCash, but with the privacy and control of running it on your own hardware.
What It Does
EzBookkeeping is a double-entry bookkeeping system wrapped in a straightforward web UI. You can manage multiple accounts (like checking, savings, or credit cards), categorize transactions, and generate reports to see where your money is going. It supports multiple currencies, transaction tagging, and data import from CSV files, which makes getting started with existing bank data relatively painless.
Why It's Cool
The standout feature here is the balance between capability and approachability. Double-entry bookkeeping is a powerful system for maintaining accurate financial records, but its concepts can be intimidating. EzBookkeeping simplifies the interface without dumbing down the core functionality. Your data stays with you, which is a massive plus for privacy-conscious individuals.
From a technical perspective, it's a neat stack: a Go backend serving a React frontend, all containerized with Docker for dead-simple deployment. The developer has clearly prioritized a clean, maintainable codebase and straightforward setup, which is a gift for anyone who wants to self-host without a weekend of frustrating configuration.
How to Try It
The fastest way to get it running is with Docker Compose. Clone the repo and you're practically there.
git clone https://github.com/mayswind/ezbookkeeping.git
cd ezbookkeeping
docker-compose up -d
Point your browser to http://your-server-ip:8080, and you should see the setup page. The default login is admin for both the username and password—you'll want to change that immediately. For detailed instructions, including bare-metal installation, check the project's README.
Final Thoughts
As developers, we often have the means to self-host but lack the time for overly complex solutions. EzBookkeeping hits a sweet spot. It's not trying to be a full-scale enterprise ERP system; it's a focused tool for personal or small-business finance that respects your data sovereignty. If you've been wanting to get a better handle on your finances but don't trust a third-party service, spinning this up in a container is a compelling and satisfying alternative.
Found this project interesting? Let us know what you think @githubprojects.
Repository: https://github.com/mayswind/ezbookkeeping