45 lines
1.2 KiB
YAML
45 lines
1.2 KiB
YAML
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:
|