docker-compose.yml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. version: "3.8"
  2. services:
  3. postgres:
  4. image: docker.xuanyuan.me/library/postgres:16-alpine
  5. container_name: finetune-postgres
  6. restart: unless-stopped
  7. environment:
  8. POSTGRES_DB: finetuning
  9. POSTGRES_USER: finetune
  10. POSTGRES_PASSWORD: finetune123
  11. volumes:
  12. - pgdata:/var/lib/postgresql/data
  13. ports:
  14. - "5432:5432"
  15. networks:
  16. - finetune-net
  17. backend:
  18. build:
  19. context: ./backend
  20. dockerfile: Dockerfile
  21. container_name: finetune-backend
  22. restart: unless-stopped
  23. ports:
  24. - "8010:8010"
  25. volumes:
  26. # 持久化数据和模型
  27. - ./backend/data:/root/Fine-tuning/backend/data
  28. env_file:
  29. - ./backend/.env.docker
  30. environment:
  31. - BACKEND_HOST=0.0.0.0
  32. - BACKEND_PORT=8010
  33. - DATABASE_URL=postgresql+asyncpg://finetune:finetune123@postgres:5432/finetuning
  34. # --- 分布式计算节点(可选) ---
  35. # 设置为 253 的 IP 即启用远程算力模式
  36. - COMPUTE_NODE_HOST=192.168.91.253
  37. - COMPUTE_NODE_SSH_PORT=22
  38. - COMPUTE_NODE_SSH_USER=root
  39. - COMPUTE_NODE_SSH_PASSWORD=ictrek
  40. # - COMPUTE_NODE_SSH_KEY=/root/.ssh/id_rsa # 优先用密钥,密码为备选
  41. - COMPUTE_NODE_PYTHON=/opt/conda/bin/python
  42. - COMPUTE_NODE_DOCKER_CONTAINER=finetune-trainer
  43. - COMPUTE_NODE_WORKDIR=/root/Fine-tuning/backend
  44. - COMPUTE_NODE_REMOTE_DATA_DIR=/root/Fine-tuning/backend/data
  45. - COMPUTE_NODE_REMOTE_ENV=production
  46. - COMPUTE_NODE_SSH_TIMEOUT=300
  47. depends_on:
  48. - postgres
  49. networks:
  50. - finetune-net
  51. frontend:
  52. build:
  53. context: ./frontend
  54. dockerfile: Dockerfile
  55. args:
  56. VITE_API_BASE_URL: /api/v1
  57. VITE_WS_BASE_URL: /ws
  58. container_name: finetune-frontend
  59. restart: unless-stopped
  60. ports:
  61. - "3000:80"
  62. depends_on:
  63. - backend
  64. networks:
  65. - finetune-net
  66. networks:
  67. finetune-net:
  68. driver: bridge
  69. volumes:
  70. pgdata: