services: postgres: image: postgres:16 environment: POSTGRES_DB: ${POSTGRES_DB:-finai} POSTGRES_USER: ${POSTGRES_USER:-finai} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-finai} ports: - "5432:5432" volumes: - pg_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-finai} -d ${POSTGRES_DB:-finai}"] interval: 5s timeout: 3s retries: 20 redis: image: redis:7 ports: - "6379:6379" backend: build: context: ../backend environment: DATABASE_URL: ${DATABASE_URL:-postgresql+psycopg://finai:finai@postgres:5432/finai} JWT_SECRET_KEY: ${JWT_SECRET_KEY:-change-me-in-production} ALLOWED_ORIGINS: ${ALLOWED_ORIGINS:-http://localhost:5173,http://127.0.0.1:5173,http://localhost} SMS_PROVIDER: mock ADP_PROVIDER: mock STORAGE_PROVIDER: local LOCAL_STORAGE_DIR: /app/storage depends_on: postgres: condition: service_healthy redis: condition: service_started ports: - "8000:8000" volumes: - backend_storage:/app/storage volumes: pg_data: backend_storage: