services: bot: build: . container_name: guardden-bot restart: unless-stopped depends_on: db: condition: service_healthy environment: - GUARDDEN_DISCORD_TOKEN=${GUARDDEN_DISCORD_TOKEN} - GUARDDEN_DATABASE_URL=postgresql://guardden:guardden@db:5432/guardden - GUARDDEN_LOG_LEVEL=${GUARDDEN_LOG_LEVEL:-INFO} - GUARDDEN_AI_PROVIDER=${GUARDDEN_AI_PROVIDER:-none} - GUARDDEN_ANTHROPIC_API_KEY=${GUARDDEN_ANTHROPIC_API_KEY:-} - GUARDDEN_OPENAI_API_KEY=${GUARDDEN_OPENAI_API_KEY:-} volumes: - ./data:/app/data networks: - guardden db: image: postgres:15-alpine container_name: guardden-db restart: unless-stopped environment: - POSTGRES_USER=guardden - POSTGRES_PASSWORD=guardden - POSTGRES_DB=guardden volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U guardden -d guardden"] interval: 5s timeout: 5s retries: 5 networks: - guardden networks: guardden: driver: bridge volumes: postgres_data: