Skip to content

Beancount accounting system packaged in a Docker image together with a few libraries and some additional UIs.

License

Notifications You must be signed in to change notification settings

Evernight/lazy-beancount

Repository files navigation

License: GPL v2 Docker Image Version

Lazy Beancount is Beancount accounting system packaged in Docker with batteries included:

The main goal is to enable gradual and incremental migration of personal finances into Beancount.

lazy-beancount

Full guide is located at https://lazy-beancount.xyz/. The approach roughly follows these principles:

  • Some of the values should be tracked precisely (e.g. net worth)
  • Other things are an approximation (e.g. in expenses breakdown, unclassified or some misclassified entires are ok)
  • Data entry should be automated or easy
  • But it should be possible to track things to any level of precision if you need to

Setup (docker-compose, recommended)

git clone https://github.com/Evernight/lazy-beancount

cd example_data
docker compose up

This will pull repository with the example and config templates, and also pull and run the latest version of the package from the Docker Hub. After this is done, go to http://localhost:8777/.

Fava is also available on port 5003, importer interface is available on port 8101 (ports are overridable via config in docker-compose.yml).

Setup (docker)

You can just pull image from the public repository:

docker pull vandereer/lazy-beancount:latest

or build it yourself:

git clone https://github.com/Evernight/lazy-beancount
cd lazy-beancount

docker build . -t lazy-beancount

To start, run:

./lazy_beancount.sh example_data

Use ./lazy_beancount.sh data when you want to start adding your own data under the data directory.

Commands are available in the container as:

docker exec -it lazybean bean-price example_data/main.bean -i --date=2024-01-05

Setup (local, conda, for development)

If you want to be able to upgrade individual packages and experiment with other (and your own) plugins or additional importers, you may go down this route.

First, clone this repository into your desired location

git clone https://github.com/Evernight/lazy-beancount
cd lazy-beancount

Install conda

brew install miniconda

Then create and activate the environment

conda create -n lazy-beancount-env python=3.12.3
conda activate lazy-beancount-env

Install required packages in the environment

pip3 install -r requirements.txt

Run Fava on your ledger from the repository folder

PYTHONPATH=PYTHONPATH:. fava main.bean

Go to http://127.0.0.1:5000 and explore Fava.

Note

I'd not recommend exposing the ports, various system and data through a public server unless you really know what you're doing. This setup has not been developed and tested for security and authentication when run as a public service.

About

Beancount accounting system packaged in a Docker image together with a few libraries and some additional UIs.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •