141 lines
3.7 KiB
YAML
141 lines
3.7 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
ljwx-mysql:
|
|
image: ${REGISTRY}/ljwx-mysql:${LJWX_VERSION}
|
|
container_name: ljwx-mysql
|
|
restart: unless-stopped
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
|
MYSQL_USER: ${MYSQL_USER}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
|
TZ: ${TZ}
|
|
ports:
|
|
- "${MYSQL_PORT}:3306"
|
|
volumes:
|
|
- ./data/mysql:/var/lib/mysql
|
|
- ./config/mysql/my.cnf:/etc/mysql/conf.d/custom.cnf
|
|
- ./logs/mysql:/var/log/mysql
|
|
networks:
|
|
- ljwx-network
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD}"]
|
|
timeout: 20s
|
|
retries: 10
|
|
|
|
ljwx-redis:
|
|
image: ${REGISTRY}/ljwx-redis:${LJWX_VERSION}
|
|
container_name: ljwx-redis
|
|
restart: unless-stopped
|
|
environment:
|
|
TZ: ${TZ}
|
|
ports:
|
|
- "${REDIS_PORT}:6379"
|
|
volumes:
|
|
- ./data/redis:/data
|
|
- ./config/redis/redis.conf:/usr/local/etc/redis/redis.conf
|
|
networks:
|
|
- ljwx-network
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
ljwx-boot:
|
|
image: ${REGISTRY}/ljwx-boot:${LJWX_VERSION}
|
|
container_name: ljwx-boot
|
|
restart: unless-stopped
|
|
environment:
|
|
TZ: ${TZ}
|
|
SPRING_PROFILES_ACTIVE: prod
|
|
SPRING_DATASOURCE_URL: jdbc:mysql://ljwx-mysql:3306/${MYSQL_DATABASE}?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true
|
|
SPRING_DATASOURCE_USERNAME: ${MYSQL_USER}
|
|
SPRING_DATASOURCE_PASSWORD: ${MYSQL_PASSWORD}
|
|
SPRING_DATASOURCE_DRIVER_CLASS_NAME: com.mysql.cj.jdbc.Driver
|
|
SPRING_REDIS_HOST: ljwx-redis
|
|
SPRING_REDIS_PORT: 6379
|
|
SPRING_REDIS_DATABASE: 0
|
|
SPRING_DATA_REDIS_HOST: ljwx-redis
|
|
SPRING_DATA_REDIS_PORT: 6379
|
|
REDIS_HOST: ljwx-redis
|
|
REDIS_PORT: 6379
|
|
ports:
|
|
- "${LJWX_BOOT_PORT}:9998"
|
|
volumes:
|
|
- ./logs/ljwx-boot:/app/logs
|
|
depends_on:
|
|
- ljwx-mysql
|
|
- ljwx-redis
|
|
networks:
|
|
- ljwx-network
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9998/actuator/health"]
|
|
timeout: 30s
|
|
retries: 10
|
|
interval: 30s
|
|
start_period: 60s
|
|
|
|
ljwx-bigscreen:
|
|
image: ${REGISTRY}/ljwx-bigscreen:${LJWX_VERSION}
|
|
container_name: ljwx-bigscreen
|
|
restart: unless-stopped
|
|
environment:
|
|
TZ: ${TZ}
|
|
MYSQL_HOST: ljwx-mysql
|
|
MYSQL_PORT: 3306
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
|
MYSQL_USER: ${MYSQL_USER}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
|
|
REDIS_HOST: ljwx-redis
|
|
REDIS_PORT: 6379
|
|
BOOT_API_URL: http://ljwx-boot:9998
|
|
ports:
|
|
- "${LJWX_BIGSCREEN_PORT}:8001"
|
|
volumes:
|
|
- ./logs/ljwx-bigscreen:/app/logs
|
|
depends_on:
|
|
- ljwx-mysql
|
|
- ljwx-redis
|
|
- ljwx-boot
|
|
networks:
|
|
- ljwx-network
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8001/health"]
|
|
timeout: 10s
|
|
retries: 5
|
|
|
|
ljwx-admin:
|
|
image: ${REGISTRY}/ljwx-admin:${LJWX_VERSION}
|
|
container_name: ljwx-admin
|
|
restart: unless-stopped
|
|
environment:
|
|
TZ: ${TZ}
|
|
BACKEND_URL: http://ljwx-boot:9998
|
|
BIGSCREEN_URL: http://ljwx-bigscreen:8001
|
|
ports:
|
|
- "${LJWX_ADMIN_PORT}:80"
|
|
volumes:
|
|
- ./logs/nginx:/var/log/nginx
|
|
depends_on:
|
|
- ljwx-boot
|
|
- ljwx-bigscreen
|
|
networks:
|
|
- ljwx-network
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:80/health"]
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
networks:
|
|
ljwx-network:
|
|
driver: bridge
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 172.20.0.0/16
|
|
|
|
volumes:
|
|
mysql_data:
|
|
redis_data:
|