mirror of
https://gitee.com/NexIoT/Universal-IoT-Java.git
synced 2026-08-29 02:33:01 +08:00
147 lines
4.5 KiB
YAML
147 lines
4.5 KiB
YAML
services:
|
|
backend:
|
|
image: nexiot/enterprise-temp-back:2.1
|
|
container_name: cn-universal-backend
|
|
restart: unless-stopped
|
|
ports:
|
|
- "9092:9092"
|
|
environment:
|
|
- SPRING_DATASOURCE_URL=${SPRING_DATASOURCE_URL:-jdbc:mysql://mysql:3306/univ?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
|
|
- SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME:-root}
|
|
- SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD:-Haha@2025}
|
|
- SPRING_DATA_REDIS_HOST=${REDIS_HOST:-redis}
|
|
- SPRING_DATA_REDIS_PORT=${REDIS_PORT:-6379}
|
|
- SPRING_DATA_REDIS_PASSWORD=${REDIS_PASSWORD:-Nexiot2025}
|
|
- SPRING_DATA_REDIS_DATABASE=${REDIS_DATABASE:-11}
|
|
- MQTT_CFG_HOST=${MQTT_HOST:-tcp://emqx:1883}
|
|
- MQTT_CFG_CLIENT_USERNAME=${MQTT_USERNAME:-universal_iot}
|
|
- MQTT_CFG_CLIENT_PASSWORD=${MQTT_PASSWORD:-Abc@2025}
|
|
- MQTT_CFG_CLIENT_ID_PREFIX=${MQTT_CLIENT_ID_PREFIX:-univ_iot_docker}
|
|
- MQTT_CFG_HOST_OUT=${MQTT_HOST_OUT:-tcp://127.0.0.1:1883}
|
|
- MQTT_CFG_EMQX_HEADER_KEY=${EMQX_HEADER_KEY:-universal-emqx}
|
|
- MQTT_CFG_EMQX_HEADER_VALUE=${EMQX_HEADER_VALUE:-d41d8cd98f00b204e9800998ecf8427e}
|
|
- SPRING_PROFILES_ACTIVE=docker
|
|
- RUN_MODE=docker
|
|
- LOGGING_FILE_PATH=/app/logs
|
|
- LOGGING_FILE_NAME=/app/logs/cn-universal-web.log
|
|
- SERVER_PORT=9092
|
|
- SERVER_HTTP2_ENABLED=false
|
|
- JAVA_TOOL_OPTIONS=-Dio.netty.native.workdir=/app/logs
|
|
- TCP_PROTOCOL_ENABLED=true
|
|
- UDP_PROTOCOL_ENABLED=true
|
|
- CTAIOT_PROTOCOL_ENABLE=false
|
|
- ONENET_PROTOCOL_ENABLED=true
|
|
- IMOULIFE_PROTOCOL_ENABLED=true
|
|
- WVP_PROTOCOL_ENABLED=true
|
|
- SHARD_LOG_ENABLE=true
|
|
- SPRING_APPLICATION_JSON={"server":{"port":9092},"management":{"endpoints":{"web":{"exposure":{"include":"health,info,metrics,prometheus"},"base-path":"/actuator"}}}},"shard":{"log":{"enable":true,"table":{"number":24},"virtual":{"number":8}},"logMeta":{"enable":true,"table":{"number":24},"virtual":{"number":8}}},"iot":{"register":{"auto":{"unionId":"auto_register","latitude":31.081598,"longitude":81.314141}}}}
|
|
depends_on:
|
|
- mysql
|
|
- redis
|
|
- emqx
|
|
networks:
|
|
- release-network
|
|
volumes:
|
|
- backend_logs:/app/logs
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
frontend:
|
|
image: nexiot/front:2.1
|
|
container_name: cn-universal-frontend
|
|
restart: unless-stopped
|
|
ports:
|
|
- "80:80"
|
|
depends_on:
|
|
- backend
|
|
networks:
|
|
- release-network
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
mysql:
|
|
image: nexiot/mysql8:2.1
|
|
container_name: cn-universal-mysql
|
|
restart: unless-stopped
|
|
environment:
|
|
- MYSQL_ROOT_PASSWORD=${MYSQL_PASSWORD:-Haha@2025}
|
|
- MYSQL_DATABASE=${MYSQL_DATABASE:-univ}
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
networks:
|
|
- release-network
|
|
command: --default-authentication-plugin=mysql_native_password --lower_case_table_names=1 --sql_mode=STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
redis:
|
|
image: ${REDIS_IMAGE:-redis:7-alpine}
|
|
container_name: cn-universal-redis
|
|
restart: unless-stopped
|
|
environment:
|
|
- REDIS_PASSWORD=${REDIS_PASSWORD:-Nexiot2025}
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- release-network
|
|
command: redis-server --requirepass ${REDIS_PASSWORD:-Nexiot2025}
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
emqx:
|
|
image: ${EMQX_IMAGE:-emqx/emqx:5.3}
|
|
container_name: cn-universal-emqx
|
|
restart: unless-stopped
|
|
environment:
|
|
- EMQX_NAME=emqx
|
|
- EMQX_HOST=localhost
|
|
ports:
|
|
- "1883:1883"
|
|
- "8083:8083"
|
|
- "8084:8084"
|
|
- "18083:18083"
|
|
volumes:
|
|
- emqx_data:/opt/emqx/data
|
|
- emqx_log:/opt/emqx/log
|
|
networks:
|
|
- release-network
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
volumes:
|
|
mysql_data:
|
|
redis_data:
|
|
emqx_data:
|
|
emqx_log:
|
|
backend_logs:
|
|
|
|
networks:
|
|
release-network:
|
|
driver: bridge
|