项目初始化
This commit is contained in:
86
docker-compose.yml
Normal file
86
docker-compose.yml
Normal file
@@ -0,0 +1,86 @@
|
||||
version: '1.0'
|
||||
|
||||
services:
|
||||
# 前端服务
|
||||
frontend:
|
||||
build:
|
||||
context: ./frontend
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "80:80"
|
||||
depends_on:
|
||||
- backend
|
||||
networks:
|
||||
- mhxy_network
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
|
||||
# 后端服务
|
||||
backend:
|
||||
build:
|
||||
context: ./backend
|
||||
dockerfile: Dockerfile
|
||||
ports:
|
||||
- "3000:3000"
|
||||
depends_on:
|
||||
- database
|
||||
networks:
|
||||
- mhxy_network
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- PORT=3000
|
||||
- HOST=0.0.0.0
|
||||
- DB_HOST=database
|
||||
- DB_PORT=5432
|
||||
- DB_NAME=mhxy_web
|
||||
- DB_USER=postgres
|
||||
- DB_PASSWORD=postgres
|
||||
# 以下环境变量需要根据实际情况在.env文件中配置
|
||||
# - JWT_SECRET=your_jwt_secret_key_here
|
||||
# - JWT_EXPIRES_IN=24h
|
||||
# - GAME_API_URL=http://your_game_server_url/tool/http
|
||||
# - GAME_PSK=THIS_IS_A_32_BYTE_FIXED_PSK!!!!!
|
||||
volumes:
|
||||
# 可选:挂载日志目录(如果需要)
|
||||
# - ./backend/logs:/app/logs
|
||||
# 可选:挂载环境变量文件(如果需要)
|
||||
- ./backend/.env:/app/.env
|
||||
|
||||
# 数据库服务
|
||||
database:
|
||||
image: mysql:8.4
|
||||
ports:
|
||||
- "3306:3306"
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=${DB_PASSWORD:-password}
|
||||
- MYSQL_DATABASE=${DB_NAME:-mhxy_web}
|
||||
- MYSQL_USER=${DB_USER:-root}
|
||||
- MYSQL_PASSWORD=${DB_PASSWORD:-password}
|
||||
volumes:
|
||||
# 持久化数据库数据
|
||||
- mysql_data:/var/lib/mysql
|
||||
# 挂载初始化SQL脚本
|
||||
- ./sql/init_mysql.sql:/docker-entrypoint-initdb.d/init.sql
|
||||
networks:
|
||||
- mhxy_network
|
||||
restart: unless-stopped
|
||||
# 可选:配置健康检查
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "mysqladmin ping -h localhost -u ${DB_USER:-root} -p${DB_PASSWORD:-password}"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
# 网络配置
|
||||
networks:
|
||||
mhxy_network:
|
||||
driver: bridge
|
||||
name: mhxy_network
|
||||
|
||||
# 数据卷配置
|
||||
volumes:
|
||||
mysql_data:
|
||||
driver: local
|
||||
name: mhxy_mysql_data
|
||||
Reference in New Issue
Block a user