services: server: build: context: . dockerfile: Dockerfile image: agentguard:latest command: ["serve"] restart: unless-stopped ports: - "${AGENTGUARD_PORT:-38080}:38080" environment: AGENTGUARD_HOST: 0.0.0.0 AGENTGUARD_PORT: 38080 AGENTGUARD_API_KEY: "${AGENTGUARD_API_KEY:-sk-agentguard-backend-X9m42Vq7Tz8nL3pA6cR0yH5uJ1sWfKdE}" AGENTGUARD_SERVER_PLUGIN_CONFIG: "${AGENTGUARD_SERVER_PLUGIN_CONFIG:-}" AGENTGUARD_POLICY: "${AGENTGUARD_POLICY:-}" AGENTGUARD_LLM_BASE_URL: "${AGENTGUARD_LLM_BASE_URL:-}" AGENTGUARD_LLM_MODEL: "${AGENTGUARD_LLM_MODEL:-}" AGENTGUARD_LLM_API_KEY: "${AGENTGUARD_LLM_API_KEY:-}" healthcheck: test: ["CMD-SHELL", "curl -fsS -H \"X-Api-Key: $$AGENTGUARD_API_KEY\" http://127.0.0.1:38080/v1/backend/health"] interval: 5s timeout: 3s retries: 12 frontend: build: context: . dockerfile: Dockerfile image: agentguard:latest command: ["frontend"] restart: unless-stopped ports: - "${AGENTGUARD_FRONTEND_PORT:-38008}:38008" environment: FRONTEND_HOST: 0.0.0.0 FRONTEND_PORT: 38008 AGENTGUARD_API_BASE: http://server:38080 AGENTGUARD_API_KEY: "${AGENTGUARD_API_KEY:-sk-agentguard-backend-X9m42Vq7Tz8nL3pA6cR0yH5uJ1sWfKdE}" depends_on: server: condition: service_healthy # E2E verifier. Enable with: docker compose --profile e2e up --abort-on-container-exit client: build: context: . dockerfile: Dockerfile image: agentguard:latest command: ["client"] profiles: ["e2e"] depends_on: server: condition: service_healthy environment: AGENTGUARD_SERVER_URL: http://server:38080