ted1990 commited on
Commit
4a7fcd0
·
verified ·
1 Parent(s): 3622431

Update Dockerfile

Browse files
Files changed (1) hide show
  1. 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
- # 自动批准第一个待处理的设备配对请求仅尝试一次30秒后执行)\n\
153
- # 警告:此操作存在安全风险,仅用于无法手动干预的首次启动场景\n\
154
- (sleep 30 && openclaw devices list | awk 'NR>1 {print \$1; exit}' | xargs -r openclaw devices approve) &\n\
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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\