services: postgres: image: postgres:16 environment: POSTGRES_USER: openenv POSTGRES_PASSWORD: openenv POSTGRES_DB: openenv ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U openenv -d openenv"] interval: 5s timeout: 3s retries: 20 redis: image: redis:7 ports: - "6379:6379" api: build: . environment: ENVIRONMENT: development DATABASE_URL: postgresql+asyncpg://openenv:openenv@postgres:5432/openenv REDIS_URL: redis://redis:6379/0 DB_AUTO_CREATE: "false" JWT_ENABLED: "true" JWT_SECRET_KEY: "replace-me" TOKEN_STORE_BACKEND: redis RATE_LIMIT_BACKEND: redis HEALTH_CHECK_REDIS: "true" ports: - "8000:8000" depends_on: postgres: condition: service_healthy redis: condition: service_started