# ActualBudget - Personal Finance / Budgeting # Domain: ${SUBDOMAIN}.${DOMAIN} # Database: None (file-based) # RAM: ~50MB (mem_limit: 256M) | Pi-compatible: Yes # # Environment variables: # DOMAIN - Your domain (e.g., demo-felhom.eu) # # First-time setup: # Create a password on first visit, no default credentials. services: actualbudget: image: actualbudget/actual-server:26.1.0 container_name: actualbudget restart: unless-stopped environment: - TZ=Europe/Budapest volumes: - actualbudget_data:/data networks: - traefik-public deploy: resources: limits: memory: 256M healthcheck: test: ["CMD", "node", "-e", "const http = require('http'); http.get('http://localhost:5006/', (r) => { process.exit(r.statusCode === 200 ? 0 : 1) }).on('error', () => process.exit(1))"] interval: 30s timeout: 5s retries: 3 start_period: 10s labels: - "traefik.enable=true" - "traefik.http.routers.actualbudget.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)" - "traefik.http.routers.actualbudget.entrypoints=websecure" - "traefik.http.routers.actualbudget.tls=true" - "traefik.http.routers.actualbudget.tls.certresolver=letsencrypt" - "traefik.http.services.actualbudget.loadbalancer.server.port=5006" volumes: actualbudget_data: networks: traefik-public: external: true