Files
aiot-platform-cloud/docker-compose.core.yml
lzh efe05ad624
Some checks failed
Java CI with Maven / build (11) (push) Has been cancelled
Java CI with Maven / build (17) (push) Has been cancelled
Java CI with Maven / build (8) (push) Has been cancelled
refactor: 重构配置管理,移除.env依赖,使用docker-compose环境变量+Nacos配置中心
- 更新所有application-prod.yaml,将环境变量占位符替换为硬编码默认值
- 重写docker-compose.core.yml,使用Spring Boot环境变量命名规范
- 修复Jenkins pipeline中的getContainerName方法调用错误
- 配置优先级:Nacos配置中心 > Docker环境变量 > application-prod.yaml

变更文件:
- viewsh-gateway/src/main/resources/application-prod.yaml
- viewsh-module-system-server/src/main/resources/application-prod.yaml
- viewsh-module-infra-server/src/main/resources/application-prod.yaml
- viewsh-module-iot-server/src/main/resources/application-prod.yaml
- viewsh-module-iot-gateway/src/main/resources/application-prod.yaml
- docker-compose.core.yml
- Jenkinsfile
2026-01-13 23:50:37 +08:00

207 lines
7.4 KiB
YAML

version: '3.8'
networks:
aiot-network:
driver: bridge
volumes:
app-logs:
services:
viewsh-gateway:
image: ${REGISTRY_HOST:-localhost:5000}/viewsh-gateway:${IMAGE_TAG:-latest}
container_name: aiot-gateway
restart: on-failure:5
network_mode: host
environment:
# ===== 基础配置 =====
TZ: Asia/Shanghai
SPRING_PROFILES_ACTIVE: prod
# ===== JVM 配置 =====
JAVA_OPTS: "-Xms512m -Xmx1024m -XX:+UseContainerSupport -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs"
# ===== Nacos 配置 =====
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: 172.17.16.14:8848
SPRING_CLOUD_NACOS_CONFIG_NAMESPACE: "aiot-platform" # TODO: 填入实际的命名空间 UUID
SPRING_CLOUD_NACOS_SERVER_ADDR: 172.17.16.14:8848
SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: "aiot-platform" # TODO: 填入实际的命名空间 UUID
SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.17.16.14
# ===== Redis 配置 =====
SPRING_DATA_REDIS_HOST: 172.17.16.14
SPRING_DATA_REDIS_PORT: 6379
SPRING_DATA_REDIS_PASSWORD: "9kHXcZ1ojFsD" # TODO: 填入实际的 Redis 密码
volumes:
- app-logs:/app/logs
deploy:
resources:
limits:
memory: 1536m
cpus: '1.0'
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:48080/actuator/health"]
interval: 10s
timeout: 5s
retries: 12
start_period: 120s
viewsh-module-system-server:
image: ${REGISTRY_HOST:-localhost:5000}/viewsh-module-system-server:${IMAGE_TAG:-latest}
container_name: aiot-system-server
restart: on-failure:5
network_mode: host
environment:
TZ: Asia/Shanghai
SPRING_PROFILES_ACTIVE: prod
JAVA_OPTS: "-Xms512m -Xmx1024m -XX:+UseContainerSupport -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs"
# Nacos
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: 172.17.16.14:8848
SPRING_CLOUD_NACOS_CONFIG_NAMESPACE: "aiot-platform" # TODO: 填入命名空间 UUID
SPRING_CLOUD_NACOS_SERVER_ADDR: 172.17.16.14:8848
SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: "aiot-platform" # TODO: 填入命名空间 UUID
SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.17.16.14
# 数据库
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_URL: jdbc:mysql://172.17.16.14:3306/aiot_platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_USERNAME: root # TODO: 填入数据库用户名
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_PASSWORD: "65p^VTPi9Qd+" # TODO: 填入数据库密码
# Redis
SPRING_DATA_REDIS_HOST: 172.17.16.14
SPRING_DATA_REDIS_PASSWORD: "9kHXcZ1ojFsD" # TODO: 填入 Redis 密码
volumes:
- app-logs:/app/logs
deploy:
resources:
limits:
memory: 1536m
cpus: '1.0'
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:48081/actuator/health"]
interval: 10s
timeout: 5s
retries: 12
start_period: 120s
depends_on:
viewsh-gateway:
condition: service_healthy
viewsh-module-infra-server:
image: ${REGISTRY_HOST:-localhost:5000}/viewsh-module-infra-server:${IMAGE_TAG:-latest}
container_name: aiot-infra-server
restart: on-failure:5
network_mode: host
environment:
TZ: Asia/Shanghai
SPRING_PROFILES_ACTIVE: prod
JAVA_OPTS: "-Xms512m -Xmx1024m -XX:+UseContainerSupport -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs"
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: 172.17.16.14:8848
SPRING_CLOUD_NACOS_CONFIG_NAMESPACE: "aiot-platform"
SPRING_CLOUD_NACOS_SERVER_ADDR: 172.17.16.14:8848
SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: "aiot-platform"
SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.17.16.14
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_URL: jdbc:mysql://172.17.16.14:3306/aiot_platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_USERNAME: root
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_PASSWORD: "65p^VTPi9Qd+"
SPRING_DATA_REDIS_HOST: 172.17.16.14
SPRING_DATA_REDIS_PASSWORD: "9kHXcZ1ojFsD"
volumes:
- app-logs:/app/logs
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:48082/actuator/health"]
interval: 10s
timeout: 5s
retries: 12
start_period: 120s
depends_on:
viewsh-module-system-server:
condition: service_healthy
viewsh-module-iot-server:
image: ${REGISTRY_HOST:-localhost:5000}/viewsh-module-iot-server:${IMAGE_TAG:-latest}
container_name: aiot-iot-server
restart: on-failure:5
network_mode: host
environment:
TZ: Asia/Shanghai
SPRING_PROFILES_ACTIVE: prod
JAVA_OPTS: "-Xms1024m -Xmx2048m -XX:+UseContainerSupport -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs"
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: 172.17.16.14:8848
SPRING_CLOUD_NACOS_CONFIG_NAMESPACE: "aiot-platform"
SPRING_CLOUD_NACOS_SERVER_ADDR: 172.17.16.14:8848
SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: "aiot-platform"
SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.17.16.14
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_URL: jdbc:mysql://172.17.16.14:3306/aiot_platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_USERNAME: root
SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_PASSWORD: "65p^VTPi9Qd+"
SPRING_DATA_REDIS_HOST: 172.17.16.14
SPRING_DATA_REDIS_PASSWORD: "9kHXcZ1ojFsD"
ROCKETMQ_NAME_SERVER: 172.17.16.14:9876
volumes:
- app-logs:/app/logs
deploy:
resources:
limits:
memory: 2560m
cpus: '1.5'
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:48083/actuator/health"]
interval: 10s
timeout: 5s
retries: 12
start_period: 120s
depends_on:
viewsh-module-infra-server:
condition: service_healthy
viewsh-module-iot-gateway:
image: ${REGISTRY_HOST:-localhost:5000}/viewsh-module-iot-gateway:${IMAGE_TAG:-latest}
container_name: aiot-iot-gateway
restart: on-failure:5
network_mode: host
environment:
TZ: Asia/Shanghai
SPRING_PROFILES_ACTIVE: prod
JAVA_OPTS: "-Xms1024m -Xmx2048m -XX:+UseContainerSupport -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs"
SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: 172.17.16.14:8848
SPRING_CLOUD_NACOS_CONFIG_NAMESPACE: "aiot-platform"
SPRING_CLOUD_NACOS_SERVER_ADDR: 172.17.16.14:8848
SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: "aiot-platform"
SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.17.16.14
SPRING_DATA_REDIS_HOST: 172.17.16.14
SPRING_DATA_REDIS_PASSWORD: "9kHXcZ1ojFsD"
ROCKETMQ_NAME_SERVER: 172.17.16.14:9876
volumes:
- app-logs:/app/logs
deploy:
resources:
limits:
memory: 2560m
cpus: '1.5'
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:48084/actuator/health"]
interval: 10s
timeout: 5s
retries: 12
start_period: 120s
depends_on:
viewsh-module-iot-server:
condition: service_healthy