refactor: 改用 bind mount 替代 named volume

数据(SQLite、备份文件、日志)从 Docker 内部卷改为挂载到项目目录:
- ./data/backend/  (SQLite + 默认 local backup 根)
- ./data/logs/     (应用日志)

好处:
- 数据直接可见于项目目录,便于备份/迁移/排查
- 删容器时数据保留(除非显式删除 ./data)
- 不再依赖 /vol1/docker/volumes/ 的自定义 Docker root

迁移说明:
旧 named volume 中的数据已通过临时 alpine 容器复制到 ./data/,
admin 账号、测试 jobs/runs 全部保留。

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
publ
2026-06-22 18:37:32 +08:00
parent 4e3a4b4602
commit febdeab35c
+3 -9
View File
@@ -14,10 +14,9 @@ services:
STORAGE_LOCAL_ROOT: /app/data/backups
DATABASE_URL: sqlite:////app/data/backup.db
volumes:
- backend-data:/app/data
- backend-logs:/app/logs
# 默认 local storage 根;若自定义 local storage 路径,可再挂载
- local-backups:/app/data/backups
# bind mounts: 数据直接落到项目目录下
- ./data/backend:/app/data
- ./data/logs:/app/logs
ports:
- "8765:8000"
restart: unless-stopped
@@ -40,8 +39,3 @@ services:
backend:
condition: service_healthy
restart: unless-stopped
volumes:
backend-data:
backend-logs:
local-backups: