services: # Python MCP Server app: build: context: .. dockerfile: docker/Dockerfile image: gitea-mcp-remote:latest container_name: gitea-mcp-remote-app restart: unless-stopped expose: - "8080" environment: # Gitea Configuration (required) - GITEA_URL=${GITEA_URL} - GITEA_TOKEN=${GITEA_TOKEN} - GITEA_OWNER=${GITEA_OWNER} # Optional Gitea config - GITEA_REPO=${GITEA_REPO:-} # HTTP Server Configuration - HTTP_HOST=0.0.0.0 - HTTP_PORT=8080 # Authentication (optional - for MCP endpoint) - AUTH_TOKEN=${AUTH_TOKEN:-} - MCP_AUTH_MODE=${MCP_AUTH_MODE:-optional} # Tool Filtering (optional) - ENABLED_TOOLS=${ENABLED_TOOLS:-} - DISABLED_TOOLS=${DISABLED_TOOLS:-} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 30s timeout: 3s retries: 3 start_period: 5s networks: - gitea-mcp-network # Caddy Reverse Proxy caddy: image: caddy:2-alpine container_name: gitea-mcp-remote-caddy restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy_data:/data - caddy_config:/config depends_on: app: condition: service_healthy networks: - gitea-mcp-network networks: gitea-mcp-network: driver: bridge volumes: caddy_data: caddy_config: