Evernight / lazy-beancount

Beancount accounting system packaged in a Docker image together with a few libraries and some additional UIs.
https://lazy-beancount.xyz/
GNU General Public License v2.0
10 stars 1 forks source link
beancount personal-finance wealth-management

Lazy Beancount

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:

Setup (Docker compose)

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 env via conda)

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

It's not recommended to expose 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.