services: actual_server: image: docker.io/actualbudget/actual-server:latest container_name: actual ports: - '5006:5006' environment: - 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 # See all options and more details at https://actualbudget.org/docs/config/ volumes: - /srv/docker/actual/actual-data:/data healthcheck: # Enable health check for the instance test: ['CMD-SHELL', 'node src/scripts/health-check.js'] interval: 60s timeout: 10s retries: 3 start_period: 20s networks: - traefik_network labels: ### Auto create icon on Flame dashboard - flame.type=application - flame.name=${SERVICE_NAME} - flame.url=https://${SERVICE_NAME}.${DOMAIN_NAME} - flame.icon=https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/open-webui.svg ### Enable Traefik - traefik.enable=true - traefik.docker.network=traefik_network ### For HTTP #- traefik.http.routers.${SERVICE_NAME}.rule=Host(`${SERVICE_NAME}.${DOMAIN_NAME}`) #- traefik.http.routers.${SERVICE_NAME}.entrypoints=web ### For HTTPS - traefik.http.routers.${SERVICE_NAME}-https.tls=true - traefik.http.routers.${SERVICE_NAME}-https.tls.certresolver=cloudflare - traefik.http.routers.${SERVICE_NAME}-https.entrypoints=websecure - traefik.http.routers.${SERVICE_NAME}-https.rule=Host(`${SERVICE_NAME}.${DOMAIN_NAME}`) ### Monitor with uptime-kuma - kuma.monitoring.group.name=Docker Containers - kuma.${SERVICE_NAME}.docker.parent_name=monitoring - kuma.${SERVICE_NAME}.docker.name=${SERVICE_NAME} - kuma.${SERVICE_NAME}.docker.type=docker - kuma.${SERVICE_NAME}.docker.docker_container=${SERVICE_NAME} - kuma.${SERVICE_NAME}.docker.docker_host=1 - 'kuma.${SERVICE_NAME}.docker.tag_names=[{"name": "docker_tag"}]' restart: unless-stopped networks: traefik_network: external: true