# Moon Household Budget — self-contained stack. # app : the Python web app (JSON-file storage on the ./data volume) # backup : sidecar that tar.gz-snapshots ./data locally + optionally to B2 # # Deployed on the Unraid NAS under /mnt/user/appdata/moon-household-budget/. # Bring up with: docker compose up -d --build services: app: build: context: . dockerfile: Dockerfile container_name: moon-household-budget restart: unless-stopped ports: - "8052:8000" # http://192.168.0.5:8052 env_file: .env volumes: - ./data:/data # budget JSON files + uploaded images live here healthcheck: test: ["CMD-SHELL", "curl -fsS http://localhost:8000/ || exit 1"] interval: 30s timeout: 5s retries: 3 backup: build: context: ./backup container_name: moon-budget-backup restart: unless-stopped env_file: .env volumes: - ./data:/data:ro # read-only — never writes app data - /mnt/user/Backup/moon-household-budget:/backups # local snapshot target