Source:
ops/01-docker-data-backup-and-restore.md文档日期:2026-07-08 适用范围:Gitea、TS3AudioBot,以及后续部署在 Docker 中的自建服务
1. 为什么先写备份
自建服务最怕的不是容器坏掉,而是数据目录丢失。容器、镜像、compose 文件都可以重建,真正不可替代的是:
- 数据库
- 配置文件
- 上传文件
- 用户权限
- cookies 或 token
- 自定义插件
- 历史日志与运行状态
因此 Docker 服务的维护核心是先确认数据放在哪里,再确认如何恢复。
2. 需要备份的内容
2.1 Gitea
当前 Gitea 使用 Docker volume:
gitea-data -> /data至少需要备份:
<Gitea app.ini>
<Gitea 数据库文件>
<Gitea 仓库目录>
<Gitea LFS 目录>
<Gitea 日志目录>如果使用的是 Docker volume,可以先找出 volume 路径:
docker volume inspect gitea_gitea-data也可以用临时容器导出:
docker run --rm \
-v gitea_gitea-data:/data \
-v "$PWD":/backup \
alpine \
tar -czf /backup/gitea-data-$(date +%F).tar.gz -C /data .2.2 TS3AudioBot
当前 TS3AudioBot 使用宿主机目录挂载:
<TS3AudioBot compose 目录>/data -> <TS3AudioBot 数据目录>至少需要备份:
ts3audiobot.toml
<TS3AudioBot 权限文件>
<TS3AudioBot 数据库文件>
<Bilibili cookies 文件>
plugins/<Bilibili 命令插件>
bots/default/
logs/推荐命令:
cd <TS3AudioBot compose 目录>
tar -czf ts3audiobot-data-backup-$(date +%F).tar.gz data3. 备份命名规则
建议统一使用:
服务名-data-backup-YYYY-MM-DD.tar.gz示例:
gitea-data-backup-2026-07-08.tar.gz
ts3audiobot-data-backup-2026-07-08.tar.gz如果是重大调整前的备份,可以加说明:
gitea-data-before-https-2026-07-08.tar.gz4. 恢复前检查
恢复前先确认三件事:
docker ps
docker compose ps
ls -lh *.tar.gz如果要覆盖旧数据,先停止服务:
docker compose down不要在服务运行中直接覆盖数据库文件。
5. Gitea 最小恢复流程
进入 compose 所在目录:
cd <Gitea compose 目录>
docker compose down用临时容器恢复 volume:
docker run --rm \
-v gitea_gitea-data:/data \
-v "$PWD":/backup \
alpine \
sh -c 'rm -rf /data/* && tar -xzf /backup/gitea-data-backup-2026-07-08.tar.gz -C /data'重启并验证:
docker compose up -d
docker compose ps
curl -I http://127.0.0.1:<Gitea Web 端口>/公网验证:
http://<服务器公网 IP>:<Gitea Web 端口>/6. TS3AudioBot 最小恢复流程
进入项目目录:
cd <TS3AudioBot compose 目录>
docker compose down恢复数据:
mv data data.broken.$(date +%F-%H%M)
tar -xzf ts3audiobot-data-backup-2026-07-08.tar.gz重建并启动:
docker compose up -d --build --force-recreate
docker logs --tail=120 ts3audiobotTeamSpeak 内验证:
!plugin list
!bili BV1gK4y1a7yZ7. 定期维护建议
- 每次改
docker-compose.yml前先备份。 - 每次改 Gitea 域名、ROOT_URL、SSH_PORT 前先备份。
- 每次更新 TS3AudioBot 插件、cookies、权限文件前先备份。
- 备份文件不要只留在服务器本机,至少复制一份到本地或私有仓库外的安全位置。
8. 最小检查清单
[ ] compose 文件还在
[ ] 数据目录或 volume 还在
[ ] 最近一次备份可以解压
[ ] 恢复步骤已经写进文档
[ ] 恢复后有明确验证命令
[ ] 敏感文件没有提交到公开仓库