Skip to content

Database Paths

BillTracker stores application state in SQLite and managed backups on disk.

This page is the reference for the persistent paths BillTracker reads and writes on a Docker install or a source install.

How do I configure paths in Docker?

DB_PATH=/data/db/bills.db
BACKUP_PATH=/data/backups

Mount /data persistently:

volumes:
  - /portainer/hosting/bill-tracker/data:/data

The Docker entrypoint creates required directories, assigns them to the bill runtime user, and applies restrictive permissions.

What are the defaults for a direct Node install?

Without environment overrides:

DB_PATH=<project>/db/bills.db
BACKUP_PATH=<project>/backups

For a direct production deployment, prefer explicit absolute paths:

DB_PATH=/opt/bill-tracker/data/db/bills.db
BACKUP_PATH=/opt/bill-tracker/data/backups

How do I protect the volume?

The SQLite database and backups can contain usernames, bill records, payment history, imported transactions, settings, and encrypted integration secrets. Restrict filesystem access and include the volume in your recovery plan.

See also

Next steps