Update Dockerfile
Browse files- Dockerfile +25 -4
Dockerfile
CHANGED
|
@@ -95,7 +95,7 @@ if __name__ == "__main__":\n\
|
|
| 95 |
restore()\n\
|
| 96 |
' > /usr/local/bin/sync.py
|
| 97 |
|
| 98 |
-
# 8. 容器入口脚本 (start-openclaw) - 增强健壮性,并添加自动配对批准
|
| 99 |
RUN echo "#!/bin/bash\n\
|
| 100 |
set -e\n\
|
| 101 |
\n\
|
|
@@ -149,9 +149,30 @@ chmod 600 \"\$DATA_DIR/openclaw.json\"\n\
|
|
| 149 |
# 启动定时备份进程(每 3 小时执行一次)\n\
|
| 150 |
(while true; do sleep 10800; python3 /usr/local/bin/sync.py backup; done) &\n\
|
| 151 |
\n\
|
| 152 |
-
# 自动批准
|
| 153 |
-
# 警告:
|
| 154 |
-
(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 155 |
\n\
|
| 156 |
# 启动 OpenClaw 网关\n\
|
| 157 |
openclaw doctor --fix\n\
|
|
|
|
| 95 |
restore()\n\
|
| 96 |
' > /usr/local/bin/sync.py
|
| 97 |
|
| 98 |
+
# 8. 容器入口脚本 (start-openclaw) - 增强健壮性,并添加自动配对批准(轮询方式)
|
| 99 |
RUN echo "#!/bin/bash\n\
|
| 100 |
set -e\n\
|
| 101 |
\n\
|
|
|
|
| 149 |
# 启动定时备份进程(每 3 小时执行一次)\n\
|
| 150 |
(while true; do sleep 10800; python3 /usr/local/bin/sync.py backup; done) &\n\
|
| 151 |
\n\
|
| 152 |
+
# ===== 自动批准设备配对(轮询方式,更可靠)=====\n\
|
| 153 |
+
# 警告:仅用于首次启动,之后建议手动管理\n\
|
| 154 |
+
(\n\
|
| 155 |
+
echo \"⏳ 等待网关启动并生成配对请求...\"\n\
|
| 156 |
+
sleep 25\n\
|
| 157 |
+
for i in {1..15}; do\n\
|
| 158 |
+
echo \"尝试获取待批准设备列表 (第 \$i/15 次)...\"\n\
|
| 159 |
+
# 使用 --json 输出并提取第一个请求ID\n\
|
| 160 |
+
REQUEST_ID=\$(openclaw devices list --json 2>/dev/null | grep -o '\"requestId\":\"[^\"]*\"' | head -1 | cut -d'\"' -f4)\n\
|
| 161 |
+
if [ -n \"\$REQUEST_ID\" ]; then\n\
|
| 162 |
+
echo \"✅ 找到待批准设备: \$REQUEST_ID,正在批准...\"\n\
|
| 163 |
+
if openclaw devices approve \"\$REQUEST_ID\"; then\n\
|
| 164 |
+
echo \"✅ 批准成功!\"\n\
|
| 165 |
+
break\n\
|
| 166 |
+
else\n\
|
| 167 |
+
echo \"⚠️ 批准失败,可能请求已过期,继续尝试...\"\n\
|
| 168 |
+
fi\n\
|
| 169 |
+
else\n\
|
| 170 |
+
echo \"⏳ 未找到待批准设备,等待 5 秒后重试...\"\n\
|
| 171 |
+
sleep 5\n\
|
| 172 |
+
fi\n\
|
| 173 |
+
done\n\
|
| 174 |
+
) &\n\
|
| 175 |
+
# ===== 自动批准结束 =====\n\
|
| 176 |
\n\
|
| 177 |
# 启动 OpenClaw 网关\n\
|
| 178 |
openclaw doctor --fix\n\
|