# ActualBudget - Open-source personal finance management # https://actualbudget.org/ # # DEPLOYMENT INSTRUCTIONS: # 1. Create directory: mkdir -p ~/docker/actualbudget # 2. Copy this file: cp docker-compose-actualbudget.yml ~/docker/actualbudget/docker-compose.yml # 3. Create data directory: mkdir -p ~/docker/actualbudget/data # 4. Start the service: cd ~/docker/actualbudget && docker compose up -d # 5. Access at: http://localhost:5006 # # REVERSE PROXY SETUP (with Caddy): # Add to your Caddyfile: # budget.yourdomain.com { # reverse_proxy localhost:5006 # } # # BANK ACCOUNT SYNC: # ActualBudget supports SimpleFIN (https://simplefin.org/) for bank synchronization. # You'll need a SimpleFIN account to sync with your bank accounts. # Setup instructions: https://actualbudget.org/docs/advanced/bank-sync name: actualbudget services: actualbudget: image: actualbudget/actual-server:latest container_name: actualbudget restart: unless-stopped ports: - "5006:5006" volumes: - ./data:/data environment: # Set your timezone - TZ=UTC # Uncomment and set these for HTTPS/production deployment: # - ACTUAL_UPLOAD_FILE_SYNC_SIZE_LIMIT_MB=20 # - ACTUAL_UPLOAD_SYNC_ENCRYPTED_FILE_SYNC_SIZE_LIMIT_MB=50 # - ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB=20 labels: # Fail2ban support - logs HTTP requests - "io.podman.annotations.label/fail2ban.enable=true" - "io.podman.annotations.label/fail2ban.filter=caddy-auth" # NOTES: # - Default port: 5006 # - Data stored in: ./data # - First run: Create an account at http://localhost:5006 # - Bank sync requires SimpleFIN: https://simplefin.org/ # - Official docs: https://actualbudget.org/docs/ # # BACKUP YOUR DATA: # Regular backups are important! ActualBudget stores data in SQLite. # docker compose down # cp -r data data-backup-$(date +%Y%m%d) # docker compose up -d # # UPDATES: # docker compose pull # docker compose up -d