132 lines
2.7 KiB
YAML
132 lines
2.7 KiB
YAML
|
|
version: '3.8'
|
||
|
|
|
||
|
|
services:
|
||
|
|
# MySQL数据库服务
|
||
|
|
mysql:
|
||
|
|
image: mysql:8.0
|
||
|
|
container_name: nxxmdata-mysql
|
||
|
|
environment:
|
||
|
|
MYSQL_ROOT_PASSWORD: aiotAiot123!
|
||
|
|
MYSQL_DATABASE: ningxia_zhengfu
|
||
|
|
MYSQL_USER: nxxmdata_user
|
||
|
|
MYSQL_PASSWORD: NxxmData2024!@#
|
||
|
|
volumes:
|
||
|
|
- mysql_data:/var/lib/mysql
|
||
|
|
- ./government-backend/database/init.sql:/docker-entrypoint-initdb.d/init.sql
|
||
|
|
ports:
|
||
|
|
- "3306:3306"
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- nxxmdata-network
|
||
|
|
|
||
|
|
# Redis缓存服务
|
||
|
|
redis:
|
||
|
|
image: redis:7-alpine
|
||
|
|
container_name: nxxmdata-redis
|
||
|
|
ports:
|
||
|
|
- "6379:6379"
|
||
|
|
volumes:
|
||
|
|
- redis_data:/data
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- nxxmdata-network
|
||
|
|
|
||
|
|
# Government Backend服务
|
||
|
|
government-backend:
|
||
|
|
build: ./government-backend
|
||
|
|
container_name: nxxmdata-government-backend
|
||
|
|
environment:
|
||
|
|
NODE_ENV: production
|
||
|
|
PORT: 5352
|
||
|
|
DB_DIALECT: mysql
|
||
|
|
DB_HOST: mysql
|
||
|
|
DB_PORT: 3306
|
||
|
|
DB_DATABASE: ningxia_zhengfu
|
||
|
|
DB_USER: root
|
||
|
|
DB_PASSWORD: aiotAiot123!
|
||
|
|
JWT_SECRET: government_super_secret_jwt_key_2024_very_long_and_secure
|
||
|
|
LOG_LEVEL: info
|
||
|
|
CORS_ORIGIN: "*"
|
||
|
|
REDIS_HOST: redis
|
||
|
|
REDIS_PORT: 6379
|
||
|
|
ports:
|
||
|
|
- "5352:5352"
|
||
|
|
depends_on:
|
||
|
|
- mysql
|
||
|
|
- redis
|
||
|
|
volumes:
|
||
|
|
- uploads_data:/app/uploads
|
||
|
|
- logs_data:/app/logs
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- nxxmdata-network
|
||
|
|
|
||
|
|
# 养殖端后端服务
|
||
|
|
backend:
|
||
|
|
build: ./backend
|
||
|
|
container_name: nxxmdata-backend
|
||
|
|
environment:
|
||
|
|
NODE_ENV: production
|
||
|
|
PORT: 5350
|
||
|
|
DB_HOST: mysql
|
||
|
|
REDIS_HOST: redis
|
||
|
|
ports:
|
||
|
|
- "5350:5350"
|
||
|
|
depends_on:
|
||
|
|
- mysql
|
||
|
|
- redis
|
||
|
|
volumes:
|
||
|
|
- uploads_data:/app/uploads
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- nxxmdata-network
|
||
|
|
|
||
|
|
# 管理后台前端
|
||
|
|
admin:
|
||
|
|
build: ./admin-system
|
||
|
|
container_name: nxxmdata-admin
|
||
|
|
ports:
|
||
|
|
- "5300:80"
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- nxxmdata-network
|
||
|
|
|
||
|
|
# 官网前端
|
||
|
|
website:
|
||
|
|
build: ./website
|
||
|
|
container_name: nxxmdata-website
|
||
|
|
ports:
|
||
|
|
- "8081:80"
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- nxxmdata-network
|
||
|
|
|
||
|
|
# Nginx反向代理
|
||
|
|
nginx:
|
||
|
|
image: nginx:alpine
|
||
|
|
container_name: nxxmdata-nginx
|
||
|
|
ports:
|
||
|
|
- "80:80"
|
||
|
|
- "443:443"
|
||
|
|
volumes:
|
||
|
|
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
|
||
|
|
- ./nginx/ssl:/etc/ssl
|
||
|
|
- uploads_data:/var/www/uploads
|
||
|
|
depends_on:
|
||
|
|
- government-backend
|
||
|
|
- backend
|
||
|
|
- admin
|
||
|
|
- website
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- nxxmdata-network
|
||
|
|
|
||
|
|
volumes:
|
||
|
|
mysql_data:
|
||
|
|
redis_data:
|
||
|
|
uploads_data:
|
||
|
|
logs_data:
|
||
|
|
|
||
|
|
networks:
|
||
|
|
nxxmdata-network:
|
||
|
|
driver: bridge
|