# CleverAgents Server — Docker Compose deployment (ADR-048) # # Services: # server — CleverAgents A2A JSON-RPC 2.0 server # postgres — PostgreSQL database for multi-user persistence # # Usage: # docker compose -f docker/docker-compose.yml up -d # # Environment variables: # CLEVERAGENTS_DATABASE_URL — override database connection string # CLEVERAGENTS_SERVER_ENV — "production" or "development" # LANGGRAPH_PLATFORM_URL — LangGraph Platform URL services: server: build: context: .. dockerfile: docker/Dockerfile ports: - "8000:8000" environment: CLEVERAGENTS_SERVER_ENV: "${CLEVERAGENTS_SERVER_ENV:-production}" CLEVERAGENTS_DATABASE_URL: "postgresql://cleveragents:cleveragents@postgres:5432/cleveragents" LANGGRAPH_PLATFORM_URL: "${LANGGRAPH_PLATFORM_URL:-http://localhost:8123}" depends_on: postgres: condition: service_healthy restart: unless-stopped healthcheck: test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"] interval: 30s timeout: 5s start_period: 10s retries: 3 postgres: image: postgres:15-alpine environment: POSTGRES_DB: cleveragents POSTGRES_USER: cleveragents POSTGRES_PASSWORD: cleveragents ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U cleveragents -d cleveragents"] interval: 10s timeout: 5s start_period: 5s retries: 5 volumes: pgdata: driver: local