javaeeduke commited on
Commit
b7f676f
·
verified ·
1 Parent(s): 4c2e97f

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +21 -12
Dockerfile CHANGED
@@ -15,23 +15,32 @@ EXPOSE 7860
15
 
16
  # 启动命令改造:修正核心启动文件问题
17
  CMD \
18
- # 1. 强制清理旧配置以应用新密码
19
- rm -rf /root/.omniroute/storage.sqlite /root/.omniroute/settings.json data/settings.json 2>/dev/null || true; \
 
 
 
 
 
20
  \
21
- # 2. 启动前:如果持久化目录有以前的数据库备份,自动恢复到 omniroute 的默认数据目录
22
- # (注意:全局安装的 CLI 数据库通常在 ~/.omniroute/ 目录下,这里需要根据它实际的数据库位置调整。
23
- # 如果你确定它在当前目录的 ./prisma/dev.db,可以保持原样,这里我先按你写的路径恢复)
24
- if [ -f /data/omni_production.db ]; then \
25
- mkdir -p ./prisma && cp /data/omni_production.db ./prisma/dev.db; \
 
26
  fi; \
27
  \
28
- # 3. 异步监听: 5 分钟,悄悄把当前最新的数据库文件备份到持久化目录
29
  (while true; do \
30
- sleep 300; \
31
- if [ -f ./prisma/dev.db ]; then \
32
- mkdir -p /data && cp ./prisma/dev.db /data/omni_production.db; \
 
 
 
33
  fi; \
34
  done) & \
35
  \
36
- # 4. 正常启动原项目(改回原本的 omniroute 命令,而不是 node server.js)
37
  PORT=7860 omniroute
 
15
 
16
  # 启动命令改造:修正核心启动文件问题
17
  CMD \
18
+ # 1. 【核心排查】行在日志里打印出 /data 目录和 /root/.omniroute 目录下的所有文件
19
+ echo "=== 检查开始 ==="; \
20
+ echo "--- 1. 当前 /data 目录下的文件有: ---"; \
21
+ ls -la /data 2>&1 || echo "/data 目录不存在"; \
22
+ echo "--- 2. 当前 OmniRoute 默认目录下的文件有: ---"; \
23
+ ls -la /root/.omniroute 2>&1 || echo "OmniRoute 目录不存在"; \
24
+ echo "=== 检查结束 ==="; \
25
  \
26
+ # 2. 开机恢复数据
27
+ if [ -f /data/omni_storage.sqlite ]; then \
28
+ mkdir -p /root/.omniroute && cp /data/omni_storage.sqlite /root/.omniroute/storage.sqlite; \
29
+ fi; \
30
+ if [ -f /data/omni_settings.json ]; then \
31
+ mkdir -p /root/.omniroute && cp /data/omni_settings.json /root/.omniroute/settings.json; \
32
  fi; \
33
  \
34
+ # 3. 后台定时备份(60 秒)
35
  (while true; do \
36
+ sleep 60; \
37
+ if [ -f /root/.omniroute/storage.sqlite ]; then \
38
+ mkdir -p /data && cp /root/.omniroute/storage.sqlite /data/omni_storage.sqlite; \
39
+ fi; \
40
+ if [ -f /root/.omniroute/settings.json ]; then \
41
+ mkdir -p /data && cp /root/.omniroute/settings.json /data/omni_settings.json; \
42
  fi; \
43
  done) & \
44
  \
45
+ # 4. 正常启动主程序
46
  PORT=7860 omniroute