A self-hosted web frontend for Tricount (by bunq), built on top of the unofficial tricount-api.
574
A self-hosted web frontend for Tricount (by bunq), built on top of the unofficial tricount-api Python client.
Create a .env file with a secret key:
echo "SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_hex(32))')" > .env
SECRET_KEY is used by Flask to sign session cookies — keep it private and don't reuse it across deployments.
services:
tricount-web:
image: geertmeersman/tricount-web:latest
container_name: tricount-web
env_file: .env
volumes:
- ./data:/app/data
ports:
- "5000:5000"
restart: unless-stopped
mkdir data
docker compose up -d
Open http://localhost:5000 and register the first account — it becomes admin automatically.
services:
tricount-web:
image: geertmeersman/tricount-web:latest
container_name: tricount-web
env_file: .env
volumes:
- ./data:/app/data
restart: unless-stopped
networks:
- proxy
networks:
proxy:
external: true
Place behind nginx, Traefik or Caddy with HTTPS. The app sets SESSION_COOKIE_SECURE=True and expects to run over HTTPS in production.
All data is stored in the mounted ./data/ directory:
| File | Description |
|---|---|
tricount.db | SQLite database — users, tokens, recurring expenses, invites, labels |
Back this directory up regularly. It contains your device credentials and all tricount tokens.
Add these to your .env to enable a weekly balance email every Monday at 08:00. The email is sent in each user's preferred language and groups tricounts by label. A test send button is available on the profile page.
APP_BASE_URL=https://your-domain.com
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
[email protected]
SMTP_PASSWORD=your-app-password
[email protected]
Users opt in individually from their Profile page. If SMTP_HOST is not set, the job is skipped silently.
This app does not use your Tricount email or password. It connects as an anonymous device (UUID + RSA key pair), generated automatically when you register. Your username and password are local to this web UI only.
Content type
Image
Digest
sha256:cca01fd64…
Size
105.2 MB
Last updated
about 7 hours ago
docker pull geertmeersman/tricount-web