92 lines
2.7 KiB
YAML
Executable File
92 lines
2.7 KiB
YAML
Executable File
# Docker安装全模块
|
||
|
||
version: '3'
|
||
services:
|
||
# Server模块
|
||
xiaozhi-esp32-server:
|
||
image: ghcr.nju.edu.cn/xinnan-tech/xiaozhi-esp32-server:server_latest
|
||
container_name: xiaozhi-esp32-server
|
||
depends_on:
|
||
- xiaozhi-esp32-server-db
|
||
- xiaozhi-esp32-server-redis
|
||
restart: always
|
||
networks:
|
||
- default
|
||
ports:
|
||
# ws服务端
|
||
- "8000:8000"
|
||
# http服务的端口,用于视觉分析接口
|
||
- "8003:8003"
|
||
security_opt:
|
||
- seccomp:unconfined
|
||
environment:
|
||
- TZ=Asia/Shanghai
|
||
volumes:
|
||
# 配置文件目录
|
||
- ./data:/opt/xiaozhi-esp32-server/data
|
||
# 模型文件挂接,很重要
|
||
- ./models/SenseVoiceSmall/model.pt:/opt/xiaozhi-esp32-server/models/SenseVoiceSmall/model.pt
|
||
|
||
# manager-api和manager-web模块
|
||
xiaozhi-esp32-server-web:
|
||
image: ghcr.nju.edu.cn/xinnan-tech/xiaozhi-esp32-server:web_latest
|
||
container_name: xiaozhi-esp32-server-web
|
||
restart: always
|
||
networks:
|
||
- default
|
||
depends_on:
|
||
xiaozhi-esp32-server-db:
|
||
condition: service_healthy
|
||
xiaozhi-esp32-server-redis:
|
||
condition: service_healthy
|
||
ports:
|
||
# 智控台
|
||
- "8002:8002"
|
||
environment:
|
||
- TZ=Asia/Shanghai
|
||
- SPRING_DATASOURCE_DRUID_URL=jdbc:mysql://xiaozhi-esp32-server-db:3306/xiaozhi_esp32_server?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&connectTimeout=30000&socketTimeout=30000&autoReconnect=true&failOverReadOnly=false&maxReconnects=10
|
||
- SPRING_DATASOURCE_DRUID_USERNAME=root
|
||
- SPRING_DATASOURCE_DRUID_PASSWORD=123456
|
||
- SPRING_DATA_REDIS_HOST=xiaozhi-esp32-server-redis
|
||
- SPRING_DATA_REDIS_PORT=6379
|
||
volumes:
|
||
# 配置文件目录
|
||
- ./uploadfile:/uploadfile
|
||
# 数据库模块
|
||
xiaozhi-esp32-server-db:
|
||
image: mysql:latest
|
||
container_name: xiaozhi-esp32-server-db
|
||
healthcheck:
|
||
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
|
||
timeout: 45s
|
||
interval: 10s
|
||
retries: 10
|
||
restart: always
|
||
networks:
|
||
- default
|
||
expose:
|
||
- 3306
|
||
volumes:
|
||
- ./mysql/data:/var/lib/mysql
|
||
environment:
|
||
- TZ=Asia/Shanghai
|
||
- MYSQL_ROOT_PASSWORD=123456
|
||
- MYSQL_DATABASE=xiaozhi_esp32_server
|
||
- MYSQL_INITDB_ARGS="--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci"
|
||
# redis模块
|
||
xiaozhi-esp32-server-redis:
|
||
image: redis
|
||
expose:
|
||
- 6379
|
||
container_name: xiaozhi-esp32-server-redis
|
||
restart: always
|
||
healthcheck:
|
||
test: ["CMD", "redis-cli", "ping"]
|
||
interval: 10s
|
||
timeout: 5s
|
||
retries: 3
|
||
networks:
|
||
- default
|
||
networks:
|
||
default:
|