1
0
This repository has been archived on 2023-12-27. You can view files and clone it, but cannot push or open issues or pull requests.
metaledger/README.md

33 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

# MetaLedger
2022-07-27 09:23:19 -07:00
MetaLedger makes it easy to setup [plain text accounting](https://plaintextaccounting.org) by configuring several useful utilities and grouping them into a single Docker Compose script.
- [hledger](https://hledger.org) for command line interaction and ledger file parsing
- [ledgerbil](https://github.com/scarpent/ledgerbil) for interactive reconciliation
- [Apache Superset](https://superset.apache.org) for awesome custom dashboarding
- Uses [a utility](https://github.com/tgrosinger/ledger-sqlite) to automatically periodically dump your ledger data into a SQLite database that Superset can query.
Currently it can be run on linux/amd64 and linux/arm64 (except for superset due to [this issue](https://github.com/apache/superset/issues/19433)). Adding more platforms should be possible, they just need to be added to the underlying [hledger-multiarch project](https://github.com/tgrosinger/hledger-multiarch).
hledger exposes a web interface (configure the port in the `.env` file). There are also utility script in the `bin` directory to make regular tasks quick and easy.
## Setting Up
- Initialize the submodules
```bash
git submodule init
git submodule update
```
- Put your ledger files in the data folder.
- Edit `.env` and fill in your desired values.
- Copy `ledgerbil/ledgerbil/settings.py.example` to `ledgerbil-settings.py` and fill in the values with your data.
- Start the services with `docker-compose up -d`
You can now access the web UI for hledger at your chosen URL (from the `.env` file), ledger-analytics, and use the helper scripts in the `bin` directory to use the various utilities. All utilities should be pre-configured with your ledger file location.
2022-07-26 16:27:09 -07:00
## Usage
If you add the `bin` directory to your path, the utility scripts in there will expose various ledger and hledger functionality by mapping into the respective containers. They will be automatically configured to interact with your ledger files as defined in the `.env` file.