Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
1.7 KiB
money
Local tool that loads bank/card statements (Chase Visa, Ally, CVFCU PDFs; Capital One CSV) into Bills_Tracker.xlsx and shows a web dashboard.
Everything runs locally; statements and the workbook are never committed or baked into the image.
Run on ZimaOS / CasaOS
Add the app: App Store -> Custom Install -> import compose.yaml (it follows the ZimaOS x-casaos format).
Copy Bills_Tracker.xlsx into /DATA/AppData/money/data/ (the app's data folder), then open the app's Web UI (port 8765).
The image is built by Gitea Actions (.gitea/workflows/build.yml) and pushed to git.necloud.us/nate/money.
Add a repository secret REGISTRY_TOKEN (a Gitea access token with write:package), and on the ZimaOS box run
docker login git.necloud.us once so it can pull the private image.
Run with plain Docker
mkdir -p data && cp /path/to/Bills_Tracker.xlsx data/
AppID=money PUID=1000 PGID=1000 TZ=America/New_York docker compose up -d # then edit the bind path in compose.yaml or symlink
Personal rules (not in git)
Your name, card last-4 and similar live in loader_rules.json next to the workbook (git-ignored, not in the image):
{"own_names": ["JANE DOE"], "own_bank_hints": ["MY CREDIT UNION"], "csv_accounts": {"1234": "Capital One Card"}}
own_names lets the loader recognise transfers between your own accounts. Copy the file into the data folder (/DATA/AppData/money/data/ on ZimaOS).
Run without Docker
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt && .venv/bin/python app.py
DATA_DIR (default: this folder) is where statements, the workbook and backups/ live.
The app has no login. Publish it on localhost only, or put it behind your own authentication.