name: product-fpol services: app: image: product-fpol:local build: context: .. dockerfile: product-fpol/deploy/Dockerfile command: [fpol_server, --host, 0.0.0.0, --database, /data/fpol.sqlite, --web-root, /app/web, --origin, 'https://${FPOL_DOMAIN:?Set FPOL_DOMAIN in .env}', --secure-cookies] volumes: [fpol_data:/data] restart: unless-stopped init: true healthcheck: test: [CMD, curl, --fail, --silent, http://127.0.0.1:8080/api/health] interval: 20s timeout: 5s retries: 3 networks: [private] ingest: image: product-fpol:local command: [fpol_ingest, --database, /data/fpol.sqlite, run] volumes: [fpol_data:/data] restart: unless-stopped init: true depends_on: app: condition: service_healthy networks: [private] caddy: image: caddy:2 environment: FPOL_DOMAIN: '${FPOL_DOMAIN:?Set FPOL_DOMAIN in .env}' ports: ['80:80', '443:443', '443:443/udp'] volumes: ['./deploy/Caddyfile:/etc/caddy/Caddyfile:ro', 'caddy_data:/data', 'caddy_config:/config'] restart: unless-stopped depends_on: app: condition: service_healthy networks: [private] networks: private: volumes: fpol_data: caddy_data: caddy_config: