Spaces:
Configuration error
Configuration error
| version: '3.8' | |
| services: | |
| # MongoDB数据库 | |
| mongo: | |
| image: mongo:7.0 | |
| container_name: chat-mongo | |
| restart: unless-stopped | |
| environment: | |
| MONGO_INITDB_ROOT_USERNAME: admin | |
| MONGO_INITDB_ROOT_PASSWORD: password123 | |
| MONGO_INITDB_DATABASE: chatapp | |
| ports: | |
| - "27017:27017" | |
| volumes: | |
| - mongo_data:/data/db | |
| - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro | |
| networks: | |
| - chat-network | |
| healthcheck: | |
| test: ["CMD", "mongosh", "--eval", "db.adminCommand('ping')"] | |
| interval: 30s | |
| timeout: 10s | |
| retries: 3 | |
| start_period: 40s | |
| # 后端服务 | |
| server: | |
| build: | |
| context: ./server | |
| dockerfile: Dockerfile | |
| container_name: chat-server | |
| restart: unless-stopped | |
| environment: | |
| - NODE_ENV=production | |
| - MONGODB_URI=mongodb://admin:password123@mongo:27017/chatapp?authSource=admin | |
| - JWT_SECRET=your-super-secret-jwt-key-change-this-in-production | |
| - PORT=5000 | |
| - CLIENT_URL=http://localhost:3000 | |
| ports: | |
| - "5000:5000" | |
| depends_on: | |
| mongo: | |
| condition: service_healthy | |
| networks: | |
| - chat-network | |
| healthcheck: | |
| test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5000/api/health"] | |
| interval: 30s | |
| timeout: 10s | |
| retries: 3 | |
| start_period: 40s | |
| # 前端服务 | |
| client: | |
| build: | |
| context: ./client | |
| dockerfile: Dockerfile | |
| container_name: chat-client | |
| restart: unless-stopped | |
| ports: | |
| - "3000:80" | |
| depends_on: | |
| server: | |
| condition: service_healthy | |
| networks: | |
| - chat-network | |
| environment: | |
| - VITE_API_URL=http://localhost:5000 | |
| healthcheck: | |
| test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80"] | |
| interval: 30s | |
| timeout: 10s | |
| retries: 3 | |
| start_period: 40s | |
| volumes: | |
| mongo_data: | |
| networks: | |
| chat-network: | |
| driver: bridge | |