Update Dockerfile
Browse files- 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 |
-
|
| 64 |
-
echo "Restoring backup from HF Dataset..."\n\
|
| 65 |
-
# python3 /root/sync.py restore\n\
|
| 66 |
\n\
|
| 67 |
-
#
|
| 68 |
-
|
| 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 |
|