services: caddy: image: caddy:latest container_name: docs_caddy restart: unless-stopped ports: - "8080:80" # Using different port to avoid conflict with main app volumes: - ./Caddyfile:/etc/caddy/Caddyfile # Mount Caddy config file - docs_caddy_data:/data # Mount persistent data volume for certs etc. - docs_caddy_config:/config # Mount persistent config volume environment: # Fallback to localhost if domain not set - DOMAIN_NAME=${DOMAIN_NAME:-localhost} depends_on: - docs docs: container_name: docs_app build: context: . dockerfile: Dockerfile restart: unless-stopped volumes: docs_caddy_data: # Persistent volume for Caddy's certificates and state docs_caddy_config: # Persistent volume for Caddy's configuration cache