1.4 KiB
1.4 KiB
离线部署
cd /opt/speakr
1. 导入镜像(无需网络)
docker load -i speakr.tar
2. 一次性:从镜像里取出前端构建产物和完整 vendor 离线依赖,补进宿主机代码目录
docker create --name speakr-tmp speakr:latest docker cp speakr-tmp:/app/static/vite ./static/ docker cp speakr-tmp:/app/static/vendor ./static/ docker rm speakr-tmp
3. 准备 .env(按转写方式二选一,然后编辑填入密钥等配置)
cp config/env.asr.example .env # 自建 ASR 服务用这个
cp config/env.whisper.example .env # Whisper API 用这个
cd /home/wjs/speakr/speakr
1. 把服务器上这份脚本的 CRLF 转成 LF,并确保可执行
sed -i 's/\r$//' scripts/docker-entrypoint.sh chmod +x scripts/docker-entrypoint.sh
2. 删掉一直重启的旧容器
docker rm -f speakr
3. 重新启动:多加一条单文件挂载,用修好的脚本覆盖镜像里那份坏的
docker run -d
--name speakr
--restart unless-stopped
-p 5000:8899
-v /home/wjs/speakr/speakr:/app
-v /home/wjs/speakr/speakr/scripts/docker-entrypoint.sh:/usr/local/bin/docker-entrypoint.sh
-v /home/wjs/speakr/uploads:/data/uploads
-v /home/wjs/speakr/instance:/data/instance
speakr:v2
4. 确认启动正常(应看到"数据库不存在,正在创建..."之类的日志)
docker logs -f speakr
合并压缩
cat speakr.tar.part* > speakr.tar