chore(config): Unify deployment orchestration and monitoring integration
This commit is contained in:
+331
-58
@@ -1,5 +1,3 @@
|
||||
version: '3.8'
|
||||
|
||||
name: video-platform
|
||||
services:
|
||||
# 基础设施服务
|
||||
@@ -8,16 +6,24 @@ services:
|
||||
container_name: mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
|
||||
MYSQL_DATABASE: video_platform
|
||||
MYSQL_USER: video
|
||||
MYSQL_PASSWORD: video123
|
||||
MYSQL_USER: ${MYSQL_APP_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_APP_PASSWORD}
|
||||
ports:
|
||||
- "3306:3306"
|
||||
volumes:
|
||||
- mysql_data:/var/lib/mysql
|
||||
- ./sql:/docker-entrypoint-initdb.d
|
||||
- ./sql/init.sql:/docker-entrypoint-initdb.d/01-init.sql:ro
|
||||
- ./sql/nacos-schema.sql:/docker-entrypoint-initdb.d/02-nacos-schema.sql:ro
|
||||
- ./sql/03-nacos-config-init.sh:/docker-entrypoint-initdb.d/03-nacos-config-init.sh:ro
|
||||
- ./sql/nacos-config-init.sql:/init-sql/nacos-config-init.sql:ro
|
||||
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-p${MYSQL_ROOT_PASSWORD}"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -29,7 +35,28 @@ services:
|
||||
- "6379:6379"
|
||||
volumes:
|
||||
- redis_data:/data
|
||||
command: redis-server --requirepass redis_EsJ8FX
|
||||
command: redis-server --requirepass ${REDIS_PASSWORD}
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "ping"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
redis-sentinel:
|
||||
image: redis:7.0-alpine
|
||||
container_name: redis-sentinel
|
||||
restart: always
|
||||
ports:
|
||||
- "26379:26379"
|
||||
volumes:
|
||||
- redis_sentinel_data:/data
|
||||
- ./config/redis/sentinel-single.conf:/usr/local/etc/redis/sentinel.conf:ro
|
||||
command: sh -c "sed \"s/__REDIS_PASSWORD__/${REDIS_PASSWORD}/g\" /usr/local/etc/redis/sentinel.conf > /data/sentinel.conf && redis-sentinel /data/sentinel.conf"
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -39,16 +66,33 @@ services:
|
||||
restart: always
|
||||
environment:
|
||||
- MODE=standalone
|
||||
- SPRING_DATASOURCE_PLATFORM=mysql
|
||||
- MYSQL_SERVICE_HOST=mysql
|
||||
- MYSQL_SERVICE_PORT=3306
|
||||
- MYSQL_SERVICE_DB_NAME=nacos_config
|
||||
- MYSQL_SERVICE_USER=root
|
||||
- MYSQL_SERVICE_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
||||
- JVM_XMS=512m
|
||||
- JVM_XMX=512m
|
||||
# 添加Nacos参数,确保正确处理服务注册
|
||||
- NACOS_AUTH_ENABLE=false
|
||||
- NACOS_AUTH_ENABLE=true
|
||||
- NACOS_AUTH_TOKEN=${NACOS_AUTH_TOKEN}
|
||||
- NACOS_AUTH_IDENTITY_KEY=serverIdentity
|
||||
- NACOS_AUTH_IDENTITY_VALUE=security
|
||||
- PREFER_HOST_MODE=hostname
|
||||
- NACOS_SERVER_IP=${HOST_IP:-127.0.0.1}
|
||||
ports:
|
||||
- "8848:8848"
|
||||
- "9848:9848"
|
||||
- "9849:9849"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8848/nacos/v1/console/health/liveness"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -59,22 +103,35 @@ services:
|
||||
ports:
|
||||
- "9876:9876"
|
||||
command: sh mqnamesrv
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pgrep -f 'NamesrvStartup' || exit 1"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 30s
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
rmqbroker:
|
||||
image: apache/rocketmq:5.1.4
|
||||
user: root
|
||||
container_name: rmqbroker
|
||||
restart: always
|
||||
ports:
|
||||
- "10909:10909"
|
||||
- "10911:10911"
|
||||
- "10912:10912"
|
||||
environment:
|
||||
- NAMESRV_ADDR=rmqnamesrv:9876
|
||||
- JAVA_OPTS=-Duser.home=/opt
|
||||
volumes:
|
||||
- ./config/rocketmq/broker-a.conf:/home/rocketmq/rocketmq-5.1.4/conf/broker.conf:ro
|
||||
- rmqbroker_logs:/home/rocketmq/logs
|
||||
- rmqbroker_store:/home/rocketmq/store
|
||||
command: sh mqbroker -c /home/rocketmq/rocketmq-5.1.4/conf/broker.conf
|
||||
depends_on:
|
||||
- rmqnamesrv
|
||||
rmqnamesrv:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -83,18 +140,26 @@ services:
|
||||
container_name: minio
|
||||
restart: always
|
||||
ports:
|
||||
- "9002:9000"
|
||||
- "9001:9001"
|
||||
- "9100:9000"
|
||||
- "9101:9001"
|
||||
environment:
|
||||
- MINIO_ROOT_USER=minioadmin
|
||||
- MINIO_ROOT_PASSWORD=minioadmin
|
||||
- MINIO_ROOT_USER=${MINIO_ACCESS_KEY}
|
||||
- MINIO_ROOT_PASSWORD=${MINIO_SECRET_KEY}
|
||||
volumes:
|
||||
- minio_data:/data
|
||||
command: server /data --console-address ":9001"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
sentinel:
|
||||
build:
|
||||
context: ./sentinel-dashboard
|
||||
dockerfile: Dockerfile
|
||||
image: sentinel-dashboard:1.8.6
|
||||
container_name: sentinel
|
||||
restart: always
|
||||
@@ -103,6 +168,85 @@ services:
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
prometheus:
|
||||
image: prom/prometheus:v2.54.1
|
||||
container_name: prometheus
|
||||
restart: always
|
||||
ports:
|
||||
- "9090:9090"
|
||||
volumes:
|
||||
- ./monitoring/prometheus/prometheus.local.yml:/etc/prometheus/prometheus.yml:ro
|
||||
- prometheus_data:/prometheus
|
||||
command:
|
||||
- --config.file=/etc/prometheus/prometheus.yml
|
||||
- --storage.tsdb.path=/prometheus
|
||||
- --storage.tsdb.retention.time=15d
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:11.2.0
|
||||
container_name: grafana
|
||||
restart: always
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- GF_SECURITY_ADMIN_USER=${GRAFANA_ADMIN_USER}
|
||||
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
|
||||
- GF_USERS_ALLOW_SIGN_UP=false
|
||||
volumes:
|
||||
- grafana_data:/var/lib/grafana
|
||||
- ./monitoring/grafana/provisioning:/etc/grafana/provisioning:ro
|
||||
- ./monitoring/grafana/dashboards:/var/lib/grafana/dashboards:ro
|
||||
depends_on:
|
||||
- prometheus
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
mysqld-exporter:
|
||||
image: prom/mysqld-exporter:v0.16.0
|
||||
container_name: mysqld-exporter
|
||||
restart: always
|
||||
environment:
|
||||
- MYSQLD_EXPORTER_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
command:
|
||||
- --mysqld.address=mysql:3306
|
||||
- --mysqld.username=root
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
redis-exporter:
|
||||
image: oliver006/redis_exporter:v1.62.0
|
||||
container_name: redis-exporter
|
||||
restart: always
|
||||
environment:
|
||||
- REDIS_ADDR=redis://redis:6379
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
node-exporter:
|
||||
image: prom/node-exporter:v1.8.2
|
||||
container_name: node-exporter
|
||||
restart: always
|
||||
command:
|
||||
- --path.procfs=/host/proc
|
||||
- --path.sysfs=/host/sys
|
||||
- --path.rootfs=/rootfs
|
||||
- --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($|/)
|
||||
volumes:
|
||||
- /proc:/host/proc:ro
|
||||
- /sys:/host/sys:ro
|
||||
- /:/rootfs:ro
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
# 微服务
|
||||
video-gateway:
|
||||
build:
|
||||
@@ -113,16 +257,30 @@ services:
|
||||
ports:
|
||||
- "9000:9000"
|
||||
environment:
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- SPRING_PROFILES_ACTIVE=ha
|
||||
- NACOS_HOST=nacos
|
||||
- NACOS_PORT=8848
|
||||
- NACOS_USERNAME=${NACOS_USERNAME}
|
||||
- NACOS_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=${NACOS_PASSWORD}
|
||||
- SENTINEL_HOST=sentinel
|
||||
- SENTINEL_PORT=8080
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||
- REDIS_SENTINEL_NODES=redis-sentinel:26379
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- JWT_SECRET=${USER_JWT_SECRET}
|
||||
- USER_JWT_SECRET=${USER_JWT_SECRET}
|
||||
- GATEWAY_IGNORE_URLS=/**/auth/login,/**/auth/register,/**/auth/captcha,/**/auth/refresh,/auth/username/**,/content/video/public/**,/content/category/tree,/content/category/list,/content/tag/list,/content/tag/page,/content/danmaku/all/**,/content/danmaku/time,/content/stat/**,/user/profile/public/**,/user/profile/search,/user/follow/following/**,/user/follow/followers/**,/comment/reply/public/**,/comment/public/**,/recommend/home,/recommend/hot/**,/recommend/similar/**,/recommend/tag/**,/admin/auth/captcha,/admin/auth/login
|
||||
- JWT_EXPIRATION=${JWT_EXPIRATION}
|
||||
- JAVA_OPTS=-Xms128m -Xmx128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- GATEWAY_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
@@ -137,19 +295,36 @@ services:
|
||||
container_name: video-auth
|
||||
restart: always
|
||||
environment:
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- SPRING_PROFILES_ACTIVE=ha
|
||||
- NACOS_HOST=nacos
|
||||
- NACOS_PORT=8848
|
||||
- NACOS_USERNAME=${NACOS_USERNAME}
|
||||
- NACOS_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=${NACOS_PASSWORD}
|
||||
- MYSQL_HOST=mysql
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||
- REDIS_SENTINEL_NODES=redis-sentinel:26379
|
||||
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
|
||||
- JWT_SECRET=${USER_JWT_SECRET}
|
||||
- USER_JWT_SECRET=${USER_JWT_SECRET}
|
||||
- JWT_EXPIRATION=${JWT_EXPIRATION}
|
||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||
- SENTINEL_DASHBOARD_PORT=8080
|
||||
- SPRING_CLOUD_SENTINEL_TRANSPORT_PORT=8720
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- AUTH_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
- redis
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -160,19 +335,41 @@ services:
|
||||
container_name: video-user
|
||||
restart: always
|
||||
environment:
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- SPRING_PROFILES_ACTIVE=ha
|
||||
- NACOS_HOST=nacos
|
||||
- NACOS_PORT=8848
|
||||
- NACOS_USERNAME=${NACOS_USERNAME}
|
||||
- NACOS_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=${NACOS_PASSWORD}
|
||||
- MYSQL_HOST=mysql
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||
- REDIS_SENTINEL_NODES=redis-sentinel:26379
|
||||
- MINIO_HOST=minio
|
||||
- MINIO_PORT=9000
|
||||
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
|
||||
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
|
||||
- MINIO_BUCKET=${MINIO_BUCKET}
|
||||
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
|
||||
- JWT_SECRET=${USER_JWT_SECRET}
|
||||
- USER_JWT_SECRET=${USER_JWT_SECRET}
|
||||
- JWT_EXPIRATION=${JWT_EXPIRATION}
|
||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||
- SENTINEL_DASHBOARD_PORT=8080
|
||||
- SPRING_CLOUD_SENTINEL_TRANSPORT_PORT=8721
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- USER_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
- redis
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -183,28 +380,47 @@ services:
|
||||
container_name: video-content
|
||||
restart: always
|
||||
environment:
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- SPRING_PROFILES_ACTIVE=ha
|
||||
- NACOS_HOST=nacos
|
||||
- NACOS_PORT=8848
|
||||
- NACOS_USERNAME=${NACOS_USERNAME}
|
||||
- NACOS_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=${NACOS_PASSWORD}
|
||||
- MYSQL_HOST=mysql
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||
- REDIS_SENTINEL_NODES=redis-sentinel:26379
|
||||
- ROCKETMQ_HOST=rmqnamesrv
|
||||
- ROCKETMQ_PORT=9876
|
||||
- MINIO_HOST=minio
|
||||
- MINIO_PORT=9000
|
||||
- MINIO_ACCESS_KEY=minioadmin
|
||||
- MINIO_SECRET_KEY=minioadmin
|
||||
- MINIO_BUCKET=video-platform
|
||||
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
|
||||
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
|
||||
- MINIO_BUCKET=${MINIO_BUCKET}
|
||||
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
|
||||
- JWT_SECRET=${USER_JWT_SECRET}
|
||||
- USER_JWT_SECRET=${USER_JWT_SECRET}
|
||||
- JWT_EXPIRATION=${JWT_EXPIRATION}
|
||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||
- SENTINEL_DASHBOARD_PORT=8080
|
||||
- SPRING_CLOUD_SENTINEL_TRANSPORT_PORT=8722
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- CONTENT_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
- redis
|
||||
- rmqnamesrv
|
||||
- minio
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
rmqnamesrv:
|
||||
condition: service_healthy
|
||||
minio:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -215,19 +431,38 @@ services:
|
||||
container_name: video-admin
|
||||
restart: always
|
||||
environment:
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- SPRING_PROFILES_ACTIVE=ha
|
||||
- NACOS_HOST=nacos
|
||||
- NACOS_PORT=8848
|
||||
- NACOS_USERNAME=${NACOS_USERNAME}
|
||||
- NACOS_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=${NACOS_PASSWORD}
|
||||
- MYSQL_HOST=mysql
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||
- REDIS_SENTINEL_NODES=redis-sentinel:26379
|
||||
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
|
||||
- JWT_SECRET=${ADMIN_JWT_SECRET}
|
||||
- ADMIN_JWT_SECRET=${ADMIN_JWT_SECRET}
|
||||
- ADMIN_INIT_PASSWORD=${ADMIN_INIT_PASSWORD}
|
||||
- APP_INIT_ADMIN_PASSWORD=${ADMIN_INIT_PASSWORD}
|
||||
- JWT_EXPIRATION=${JWT_EXPIRATION}
|
||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||
- SENTINEL_DASHBOARD_PORT=8080
|
||||
- SPRING_CLOUD_SENTINEL_TRANSPORT_PORT=8725
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- ADMIN_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
- redis
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -238,19 +473,36 @@ services:
|
||||
container_name: video-comment
|
||||
restart: always
|
||||
environment:
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- SPRING_PROFILES_ACTIVE=ha
|
||||
- NACOS_HOST=nacos
|
||||
- NACOS_PORT=8848
|
||||
- NACOS_USERNAME=${NACOS_USERNAME}
|
||||
- NACOS_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=${NACOS_PASSWORD}
|
||||
- MYSQL_HOST=mysql
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||
- REDIS_SENTINEL_NODES=redis-sentinel:26379
|
||||
- SERVICE_AUTH_TOKEN=${SERVICE_AUTH_TOKEN}
|
||||
- JWT_SECRET=${USER_JWT_SECRET}
|
||||
- USER_JWT_SECRET=${USER_JWT_SECRET}
|
||||
- JWT_EXPIRATION=${JWT_EXPIRATION}
|
||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||
- SENTINEL_DASHBOARD_PORT=8080
|
||||
- SPRING_CLOUD_SENTINEL_TRANSPORT_PORT=8723
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- COMMENT_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
- redis
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -261,19 +513,35 @@ services:
|
||||
container_name: video-recommend
|
||||
restart: always
|
||||
environment:
|
||||
- SPRING_PROFILES_ACTIVE=prod
|
||||
- SPRING_PROFILES_ACTIVE=ha
|
||||
- NACOS_HOST=nacos
|
||||
- NACOS_PORT=8848
|
||||
- NACOS_USERNAME=${NACOS_USERNAME}
|
||||
- NACOS_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_DISCOVERY_PASSWORD=${NACOS_PASSWORD}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_USERNAME=${NACOS_USERNAME}
|
||||
- SPRING_CLOUD_NACOS_CONFIG_PASSWORD=${NACOS_PASSWORD}
|
||||
- MYSQL_HOST=mysql
|
||||
- MYSQL_PORT=3306
|
||||
- REDIS_HOST=redis
|
||||
- REDIS_PORT=6379
|
||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||
- REDIS_PASSWORD=${REDIS_PASSWORD}
|
||||
- REDIS_SENTINEL_NODES=redis-sentinel:26379
|
||||
- JWT_SECRET=${USER_JWT_SECRET}
|
||||
- USER_JWT_SECRET=${USER_JWT_SECRET}
|
||||
- JWT_EXPIRATION=${JWT_EXPIRATION}
|
||||
- SENTINEL_DASHBOARD_HOST=sentinel
|
||||
- SENTINEL_DASHBOARD_PORT=8080
|
||||
- SPRING_CLOUD_SENTINEL_TRANSPORT_PORT=8724
|
||||
# 添加IP环境变量,用于服务注册
|
||||
- RECOMMEND_IP=${HOST_IP:-127.0.0.1}
|
||||
depends_on:
|
||||
- nacos
|
||||
- mysql
|
||||
- redis
|
||||
nacos:
|
||||
condition: service_healthy
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- video-network
|
||||
|
||||
@@ -284,4 +552,9 @@ networks:
|
||||
volumes:
|
||||
mysql_data:
|
||||
redis_data:
|
||||
minio_data:
|
||||
redis_sentinel_data:
|
||||
minio_data:
|
||||
rmqbroker_logs:
|
||||
rmqbroker_store:
|
||||
prometheus_data:
|
||||
grafana_data:
|
||||
|
||||
Reference in New Issue
Block a user