networks: obs-network: driver: bridge volumes: postgres-data: services: postgres: image: postgres:16-alpine container_name: claude-postgres environment: - POSTGRES_USER=claude - POSTGRES_PASSWORD=claude - POSTGRES_DB=claude_proxy volumes: - postgres-data:/var/lib/postgresql/data ports: - "127.0.0.1:5432:5432" restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U claude -d claude_proxy"] interval: 5s timeout: 5s retries: 5 networks: - obs-network proxy: build: . container_name: claude-proxy env_file: - .env environment: - DATABASE_URL=postgresql://claude:claude@postgres:5432/claude_proxy - UPSTREAM_ROUTES_FILE=/app/upstreams.yaml volumes: - ./upstreams.yaml:/app/upstreams.yaml:ro ports: - "${PROXY_PORT:-8888}:8888" restart: unless-stopped depends_on: postgres: condition: service_healthy networks: - obs-network