version: '3.8' services: # ---------- MySQL 数据库 ---------- mysql: image: mysql:8.0 container_name: yunrui_asset-mysql volumes: - yunrui_asset-mysql-data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-xinmi_password} MYSQL_DATABASE: ${MYSQL_DATABASE:-yunrui_management} ports: - "${MYSQL_PORT:-12006}:3306" networks: - yunrui_asset-network # ---------- 后端服务 ---------- backend: build: context: ./backend dockerfile: Dockerfile container_name: yunrui_asset-backend volumes: - ./backend/uploads:/app/uploads - ./backend/logs:/app/logs - ./backend/backups:/app/backups environment: - NODE_ENV=production - PORT=8000 - DB_TYPE=mysql - MYSQL_HOST=mysql - MYSQL_PORT=3306 - MYSQL_DATABASE=${MYSQL_DATABASE:-yunrui_management} - MYSQL_USERNAME=root - MYSQL_PASSWORD=${MYSQL_ROOT_PASSWORD:-xinmi_password} - JWT_SECRET=${JWT_SECRET} - CONSOLE_LOG=true ports: - "${BACKEND_PORT:-12001}:8000" depends_on: - mysql networks: - yunrui_asset-network # ---------- 前端服务 ---------- frontend: build: context: ./frontend dockerfile: Dockerfile container_name: yunrui_asset-frontend ports: - "${FRONTEND_PORT:-12000}:80" depends_on: - backend networks: - yunrui_asset-network volumes: yunrui_asset-mysql-data: networks: yunrui_asset-network: driver: bridge