services: how-to-claude: build: . container_name: how-to-claude restart: unless-stopped # Caddy Docker Proxy labels labels: caddy: ${DOMAIN} caddy.reverse_proxy: "{{upstreams 80}}" # Health check healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Read-only root filesystem for security read_only: true networks: default: external: name: caddy