1guow commited on
Commit
cdfd301
·
verified ·
1 Parent(s): 244c60e

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +4 -53
Dockerfile CHANGED
@@ -18,64 +18,15 @@ RUN pip3 install --break-system-packages huggingface_hub
18
  # 全局安装 openclaw
19
  RUN npm install -g openclaw@latest
20
 
21
- # --- 创建备份与恢复脚本 (sync.py) ---
22
- RUN echo '#!/usr/bin/env python3\n\
23
- import os\n\
24
- import sys\n\
25
- from huggingface_hub import snapshot_download, upload_folder\n\
26
- \n\
27
- BACKUP_PATH = "/root/.openclaw"\n\
28
- DATASET_REPO = os.getenv("HF_DATASET")\n\
29
- TOKEN = os.getenv("HF_TOKEN")\n\
30
- \n\
31
- if not DATASET_REPO or not TOKEN:\n\
32
- print("Error: HF_DATASET or HF_TOKEN not set.")\n\
33
- sys.exit(1)\n\
34
- \n\
35
- if len(sys.argv) > 1 and sys.argv[1] == "restore":\n\
36
- print(f"Restoring backup from {DATASET_REPO} to {BACKUP_PATH}...")\n\
37
- try:\n\
38
- snapshot_download(\n\
39
- repo_id=DATASET_REPO,\n\
40
- repo_type="dataset",\n\
41
- local_dir=BACKUP_PATH,\n\
42
- token=TOKEN\n\
43
- )\n\
44
- print("Restore successful!")\n\
45
- except Exception as e:\n\
46
- print(f"Restore failed: {e}")\n\
47
- else:\n\
48
- print(f"Backing up {BACKUP_PATH} to {DATASET_REPO}...")\n\
49
- try:\n\
50
- upload_folder(\n\
51
- folder_path=BACKUP_PATH,\n\
52
- repo_id=DATASET_REPO,\n\
53
- repo_type="dataset",\n\
54
- token=TOKEN\n\
55
- )\n\
56
- print("Backup successful!")\n\
57
- except Exception as e:\n\
58
- print(f"Backup failed: {e}")\n\
59
- ' > /root/sync.py
60
-
61
  # --- 创建启动脚本 (start-openclaw.sh) ---
 
62
  RUN echo '#!/bin/bash\n\
63
- # 1. 恢复备份\n\
64
- echo "Restoring backup from HF Dataset..."\n\
65
- # python3 /root/sync.py restore\n\
66
  \n\
67
- # 2. 启动 OpenClaw(跳过 setup直接允许未配置模式)\n\
68
- echo "Starting OpenClaw..."\n\
69
- openclaw gateway --port 7860 --allow-unconfigured &\n\
70
  CLAW_PID=$!\n\
71
  \n\
72
- # 3. 设置定时备份 (每15分钟)\n\
73
- # echo "*/15 * * * * root python3 /root/sync.py >> /var/log/cron.log 2>&1" > /etc/crontab\n\
74
- cron\n\
75
- \n\
76
- # 4. 捕获退出信号,确保停止前做最后一次备份\n\
77
- # trap "echo \"Stopping...\"; python3 /root/sync.py; kill $CLAW_PID; exit 0" SIGTERM SIGINT\n\
78
- \n\
79
  echo "OpenClaw is running on port 7860!"\n\
80
  wait $CLAW_PID' > /root/start-openclaw.sh && chmod +x /root/start-openclaw.sh
81
 
 
18
  # 全局安装 openclaw
19
  RUN npm install -g openclaw@latest
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  # --- 创建启动脚本 (start-openclaw.sh) ---
22
+ # 关键修改:完全移除备份恢复、定时备份和退出备份,并强制使用环境变量启动
23
  RUN echo '#!/bin/bash\n\
24
+ echo "Starting OpenClaw with env MODEL=$MODEL..."\n\
 
 
25
  \n\
26
+ # 直接使用环境变量启动,忽略任何历史配置,并强制跳过认证以进入界面\n\
27
+ openclaw gateway --port 7860 --allow-unconfigured --model "$MODEL" &\n\
 
28
  CLAW_PID=$!\n\
29
  \n\
 
 
 
 
 
 
 
30
  echo "OpenClaw is running on port 7860!"\n\
31
  wait $CLAW_PID' > /root/start-openclaw.sh && chmod +x /root/start-openclaw.sh
32