services: postgres: image: postgres:16-alpine environment: POSTGRES_USER: roundtable POSTGRES_PASSWORD: roundtable POSTGRES_DB: roundtable ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U roundtable -d roundtable"] interval: 5s timeout: 3s retries: 10 redis: image: redis:7-alpine command: ["redis-server", "--appendonly", "no"] ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 10 backend: build: ./backend environment: ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY} DATABASE_URL: postgresql+asyncpg://roundtable:roundtable@postgres:5432/roundtable REDIS_URL: redis://redis:6379/0 JWT_SECRET_KEY: ${JWT_SECRET_KEY:?set JWT_SECRET_KEY in .env - see .env.example} AGENT_MODEL: ${AGENT_MODEL:-claude-opus-5} JUDGE_MODEL: ${JUDGE_MODEL:-claude-opus-5} AGENT_EFFORT: ${AGENT_EFFORT:-medium} JUDGE_EFFORT: ${JUDGE_EFFORT:-high} CORS_ORIGINS: '["http://localhost:5173","http://localhost:8080"]' ports: - "8000:8000" depends_on: postgres: condition: service_healthy redis: condition: service_healthy frontend: build: ./frontend ports: - "8080:80" depends_on: - backend volumes: pgdata: