Docker本地部署小智服务器
参考和鸣谢
感谢虾哥开源小智后端
感谢xinnan-tech提供本地部署教程
前置条件
- 一台内存>=8G的服务器
- 预装docker
步骤
- 下载本文件夹解压到本地
- 下载model.pt存放到第一步下载的文件夹中的
models/SenseVoiceSmall
下 - 检查文件夹结构,
xiaozhi-server
的结构应为xiaozhi-server ├─ docker-compose_all.yml ├─ data ├─ .config.yaml ├─ models ├─ SenseVoiceSmall ├─ model.pt
-
使用docker清除之前构建的历史镜像以及容器(初次部署此步可跳过)
docker compose -f docker-compose_all.yml down docker stop xiaozhi-esp32-server docker rm xiaozhi-esp32-server docker stop xiaozhi-esp32-server-web docker rm xiaozhi-esp32-server-web docker stop xiaozhi-esp32-server-db docker rm xiaozhi-esp32-server-db docker stop xiaozhi-esp32-server-redis docker rm xiaozhi-esp32-server-redis docker rmi ghcr.nju.edu.cn/xinnan-tech/xiaozhi-esp32-server:server_latest docker rmi ghcr.nju.edu.cn/xinnan-tech/xiaozhi-esp32-server:web_latest
-
启动新容器 执行
docker compose -f docker-compose_all.yml up -d
启动新容器 -
访问控制台 使用
docker logs -f xiaozhi-esp32-server-web
命令查看日志,如果出现如下日志则说明智控台启动成功此时使用2025-xx-xx 22:11:12.445 [main] INFO c.a.d.s.b.a.DruidDataSourceAutoConfigure - Init DruidDataSource 2025-xx-xx 21:28:53.873 [main] INFO xiaozhi.AdminApplication - Started AdminApplication in 16.057 seconds (process running for 17.941) http://localhost:8002/xiaozhi/doc.html
http://你的服务器ip:8002
就可以访问智控台 -
注册账号 初次登录智控台需要进行账号注册
-
将智控台的密钥复制到.config.yaml,进入【参数字典】>【参数管理】,复制server.secret字段的值
粘贴到.config.yaml文件的这里
-
配置大语言模型
-
重启智控台 使用如下指令:
进行重启和查看日志,如果出现类似于docker restart xiaozhi-esp32-server docker logs -f xiaozhi-esp32-server
就表示server启动成功25-02-23 12:01:09[core.websocket_server] - INFO - Websocket地址是 ws://xxx.xx.xx.xx:8000/xiaozhi/v1/ 25-02-23 12:01:09[core.websocket_server] - INFO - =======上面的地址是websocket协议地址,请勿用浏览器访问======= 25-02-23 12:01:09[core.websocket_server] - INFO - 如想测试websocket请用谷歌浏览器打开test目录下的test_page.html 25-02-23 12:01:09[core.websocket_server] - INFO - =======================================================
-
配置OTA和websocket地址 打开cmd使用
ipconfig
(win)或者ifconfig
(linux)查看到自己的ip,假设ip为192.168.19.1,那么你的OTA接口和websocket接口就是
接口 | 地址 |
---|---|
OTA接口 | http://192.168.19.1:8002/xiaozhi/ota/ |
Websocket接口 | ws://192.168.19.1:8000/xiaozhi/v1/ |
其他IP对应替换就可以
FAQ
1. 使用docker启动小智服务器之后服务器宕机卡死
检查服务器内存是否>=8G,如果不满足条件请加装内存
2. docker无法拉取镜像
使用docker国内镜像仓库或者魔法
3. windows进行docker部署产生错误
如果是Docker Desktop请先打开,然后进行部署
4. 服务器外部无法访问8002端口
请在服务器的防火墙打开对应端口
5. 小智一直显示检查新版本失败
请确保选择的是正确的IP,有时候本机部署会有一些虚拟IP,比如
且请检查.config.yaml中的url是否配置为
http://xiaozhi-esp32-server-web:8002/xiaozhi
6. POST /config/server-base 请求失败
使用docker logs -f xiaozhi-esp32-server
指令查看日志出现POST /config/server-base 请求失败