services: cdk: build: . image: cdk-recharge:latest container_name: cdk-recharge restart: unless-stopped volumes: - cdk_data:/app/data env_file: - path: .env required: false environment: SERVER_HOST: 0.0.0.0 SERVER_PORT: 8080 SERVER_MODE: release DB_PATH: /app/data/cdk_recharge.db WEB_DIR: /app/web INSTALL_MODE: ${INSTALL_MODE:-wizard} JWT_SECRET: ${JWT_SECRET:-} TRUSTED_PROXIES: 172.16.0.0/12 healthcheck: test: ["CMD", "curl", "-f", "http://127.0.0.1:8080/health"] interval: 30s timeout: 5s start_period: 10s retries: 3 caddy: image: caddy:2-alpine container_name: cdk-caddy restart: unless-stopped ports: - "80:80" - "443:443" - "443:443/udp" volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy_data:/data - caddy_config:/config depends_on: cdk: condition: service_healthy volumes: cdk_data: caddy_data: caddy_config: