docker-compose.yml 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. version: '3.8'
  2. services:
  3. # FastAPI 应用
  4. chat-ai-api:
  5. build:
  6. context: .
  7. dockerfile: Dockerfile
  8. image: chat-ai-api:latest
  9. container_name: chat-ai-api
  10. ports:
  11. - "8000:8000"
  12. environment:
  13. # API 配置
  14. ARK_API_KEY: ${ARK_API_KEY}
  15. ARK_BASE_URL: ${ARK_BASE_URL}
  16. MODEL_NAME: ${MODEL_NAME}
  17. ROLE_DESCRIPTION: ${ROLE_DESCRIPTION}
  18. # JWT 配置
  19. SECRET_KEY: ${SECRET_KEY}
  20. ALGORITHM: ${ALGORITHM}
  21. ACCESS_TOKEN_EXPIRE_MINUTES: ${ACCESS_TOKEN_EXPIRE_MINUTES:-30}
  22. # MongoDB 配置(云服务)
  23. SOUYUE_MONGO_URI: ${SOUYUE_MONGO_URI}
  24. ARK_LOGS_MONGO_URI: ${ARK_LOGS_MONGO_URI}
  25. # Redis 配置(云服务)
  26. REDIS_HOST: ${REDIS_HOST}
  27. REDIS_PORT: ${REDIS_PORT:-6379}
  28. # 应用配置
  29. LOG_LEVEL: ${LOG_LEVEL:-info}
  30. ENVIRONMENT: ${ENVIRONMENT:-production}
  31. restart: unless-stopped
  32. healthcheck:
  33. test: ["CMD", "curl", "-f", "http://localhost:8000/docs"]
  34. interval: 30s
  35. timeout: 10s
  36. retries: 3
  37. start_period: 5s
  38. networks:
  39. default:
  40. driver: bridge