services: app: build: context: .. dockerfile: deploy/Dockerfile image: boardgame-site:${APP_VERSION:-latest} restart: unless-stopped env_file: .env environment: TRUST_PROXY: "1" volumes: - app-data:/data stop_grace_period: 15s logging: driver: json-file options: { max-size: "50m", max-file: "5" } caddy: image: caddy:2 restart: unless-stopped ports: - "80:80" - "443:443" environment: SITE_DOMAIN: ${SITE_DOMAIN:?set SITE_DOMAIN in deploy/.env} volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy-data:/data depends_on: [app] volumes: app-data: caddy-data: