#version: '3.8' services: digiserver: build: . container_name: digiserver-v2 expose: - "5000" volumes: - ./instance:/app/instance - ./app/static/uploads:/app/app/static/uploads environment: - FLASK_ENV=production - SECRET_KEY=${SECRET_KEY:-your-secret-key-change-this} - ADMIN_USERNAME=${ADMIN_USERNAME:-admin} - ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin123} restart: unless-stopped healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:5000/').read()"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: - digiserver-network caddy: image: caddy:2-alpine container_name: digiserver-caddy ports: - "80:80" - "443:443" - "443:443/udp" # HTTP/3 volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy-data:/data - caddy-config:/config environment: - DOMAIN=${DOMAIN:-localhost} - EMAIL=${EMAIL:-admin@localhost} depends_on: - digiserver restart: unless-stopped networks: - digiserver-network networks: digiserver-network: driver: bridge volumes: caddy-data: caddy-config: