168 lines
5.4 KiB
YAML
168 lines
5.4 KiB
YAML
version: '${COMPOSE_VERSION:-3.8}'
|
|
|
|
services:
|
|
ljwx-mysql:
|
|
image: crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-mysql:${MYSQL_IMAGE_VERSION:-1.2.16}
|
|
container_name: ljwx-mysql
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_PASSWORD:-123456}
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE:-lj-06}
|
|
MYSQL_CHARACTER_SET_SERVER: utf8mb4
|
|
MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci
|
|
TZ: Asia/Shanghai
|
|
ports:
|
|
- "${MYSQL_EXTERNAL_PORT:-3306}:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
- ./logs/mysql:/var/log/mysql
|
|
- ./backup/mysql:/backup/mysql
|
|
command:
|
|
- --default-authentication-plugin=mysql_native_password
|
|
- --character-set-server=utf8mb4
|
|
- --collation-server=utf8mb4_unicode_ci
|
|
- --max_connections=200
|
|
- --wait_timeout=28800
|
|
- --interactive_timeout=28800
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p123456"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 60s
|
|
networks:
|
|
- ljwx-network
|
|
|
|
redis:
|
|
image: crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-redis:${REDIS_IMAGE_VERSION:-1.2.16}
|
|
container_name: ljwx-redis
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${REDIS_EXTERNAL_PORT:-6379}:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
- ./logs/redis:/var/log/redis
|
|
- ./backup/redis:/backup/redis
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 30s
|
|
networks:
|
|
- ljwx-network
|
|
|
|
ljwx-boot:
|
|
image: crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-boot:${LJWX_BOOT_VERSION:-1.3.3}
|
|
container_name: ljwx-boot
|
|
restart: unless-stopped
|
|
env_file:
|
|
- custom-config.env
|
|
environment:
|
|
SPRING_PROFILES_ACTIVE: common
|
|
MYSQL_HOST: ${MYSQL_HOST:-mysql}
|
|
MYSQL_PORT: ${MYSQL_PORT:-3306}
|
|
MYSQL_USER: ${MYSQL_USER:-root}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-123456}
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE:-lj-06}
|
|
REDIS_HOST: ${REDIS_HOST:-redis}
|
|
REDIS_PORT: ${REDIS_PORT:-6379}
|
|
REDIS_PASSWORD: "123456"
|
|
TZ: Asia/Shanghai
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://${MYSQL_HOST:-mysql}:${MYSQL_PORT:-3306}/${MYSQL_DATABASE:-lj-06}?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
|
|
SPRING_DATASOURCE_USERNAME: ${MYSQL_USER:-root}
|
|
SPRING_DATASOURCE_PASSWORD: ${MYSQL_PASSWORD:-123456}
|
|
SPRING_DATASOURCE_DRIVER_CLASS_NAME: com.mysql.cj.jdbc.Driver
|
|
SPRING_DATA_REDIS_HOST: ${REDIS_HOST:-redis}
|
|
SPRING_DATA_REDIS_PORT: ${REDIS_PORT:-6379}
|
|
SPRING_DATA_REDIS_PASSWORD: "123456"
|
|
SPRING_TASK_SCHEDULING_POOL_SIZE: 10
|
|
SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREADPOOL_THREADCOUNT: 10
|
|
ports:
|
|
- "${LJWX_BOOT_EXTERNAL_PORT:-9998}:9998"
|
|
volumes:
|
|
- ./logs/ljwx-boot:/app/ljwx-boot-logs
|
|
- ljwx_boot_data:/app/data
|
|
- ./backup/ljwx-boot:/backup/ljwx-boot
|
|
command: ["sh", "-c", "sleep 30 && java -jar /app/ljwx-boot-admin.jar"]
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9998/actuator/health"]
|
|
interval: 60s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 120s
|
|
networks:
|
|
- ljwx-network
|
|
|
|
ljwx-bigscreen:
|
|
image: crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-bigscreen:${LJWX_BIGSCREEN_VERSION:-1.3.3}
|
|
container_name: ljwx-bigscreen
|
|
restart: unless-stopped
|
|
env_file:
|
|
- custom-config.env
|
|
environment:
|
|
MYSQL_HOST: ${MYSQL_HOST:-mysql}
|
|
MYSQL_PORT: ${MYSQL_PORT:-3306}
|
|
MYSQL_USER: ${MYSQL_USER:-root}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-123456}
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE:-lj-06}
|
|
REDIS_HOST: ${REDIS_HOST:-redis}
|
|
REDIS_PORT: ${REDIS_PORT:-6379}
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD:-123456}
|
|
IS_DOCKER: "true"
|
|
APP_PORT: 8001
|
|
TZ: Asia/Shanghai
|
|
ports:
|
|
- "${LJWX_BIGSCREEN_EXTERNAL_PORT:-8001}:8001"
|
|
volumes:
|
|
- ./custom-config.py:/app/config.py:ro
|
|
- ./custom-assets:/app/static/images:ro
|
|
- ./logs/ljwx-bigscreen:/app/logs
|
|
- ljwx_bigscreen_data:/app/data
|
|
- ./backup/ljwx-bigscreen:/backup/ljwx-bigscreen
|
|
command: ["sh", "-c", "sleep 45 && python app.py"]
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8001/health"]
|
|
interval: 60s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 90s
|
|
networks:
|
|
- ljwx-network
|
|
|
|
ljwx-admin:
|
|
image: crpi-yilnm6upy4pmbp67.cn-shenzhen.personal.cr.aliyuncs.com/ljwx/ljwx-admin:${LJWX_ADMIN_VERSION:-1.3.3}
|
|
container_name: ljwx-admin
|
|
restart: unless-stopped
|
|
env_file:
|
|
- custom-config.env
|
|
environment:
|
|
VITE_API_URL: http://ljwx-boot:9998
|
|
VITE_BIGSCREEN_URL: ${VITE_BIGSCREEN_URL:-http://localhost:8001}
|
|
VITE_APP_TITLE: ${VITE_APP_TITLE:-穿戴管理演示系统}
|
|
TZ: Asia/Shanghai
|
|
ports:
|
|
- "${LJWX_ADMIN_EXTERNAL_PORT:-8088}:80"
|
|
volumes:
|
|
- ./logs/ljwx-admin:/var/log/nginx
|
|
- ./custom-admin-config.js:/tmp/custom-admin-config.js:ro
|
|
command: ["sh", "-c", "sleep 60 && nginx -g 'daemon off;'"]
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:80/"]
|
|
interval: 60s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 60s
|
|
networks:
|
|
- ljwx-network
|
|
|
|
volumes:
|
|
mysql_data:
|
|
redis_data:
|
|
ljwx_boot_data:
|
|
ljwx_bigscreen_data:
|
|
|
|
networks:
|
|
ljwx-network:
|
|
driver: bridge
|