# ================================================================ # services/auth/docker-compose.yml (For standalone testing) # ================================================================ version: '3.8' services: auth-db: image: postgres:15-alpine container_name: auth-db environment: POSTGRES_DB: auth_db POSTGRES_USER: auth_user POSTGRES_PASSWORD: auth_pass123 ports: - "5432:5432" volumes: - auth_db_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U auth_user -d auth_db"] interval: 10s timeout: 5s retries: 5 redis: image: redis:7-alpine container_name: auth-redis ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 rabbitmq: image: rabbitmq:3-management-alpine container_name: auth-rabbitmq environment: RABBITMQ_DEFAULT_USER: bakery RABBITMQ_DEFAULT_PASS: forecast123 ports: - "5672:5672" - "15672:15672" healthcheck: test: ["CMD", "rabbitmq-diagnostics", "ping"] interval: 30s timeout: 10s retries: 5 auth-service: build: . container_name: auth-service environment: - DATABASE_URL=postgresql+asyncpg://auth_user:auth_pass123@auth-db:5432/auth_db - REDIS_URL=redis://redis:6379/0 - RABBITMQ_URL=amqp://bakery:forecast123@rabbitmq:5672/ - JWT_SECRET_KEY=your-super-secret-jwt-key - DEBUG=true - LOG_LEVEL=INFO ports: - "8001:8000" depends_on: auth-db: condition: service_healthy redis: condition: service_healthy rabbitmq: condition: service_healthy volumes: - .:/app command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload volumes: auth_db_data: