Update Dockerfile
Browse files- Dockerfile +15 -15
Dockerfile
CHANGED
|
@@ -75,6 +75,7 @@ if __name__ == "__main__":\n\
|
|
| 75 |
|
| 76 |
# 7. 容器入口脚本 (start-openclaw)
|
| 77 |
# 负责恢复数据 -> 生成配置 -> 启动网关 -> 定时备份
|
|
|
|
| 78 |
RUN echo "#!/bin/bash\n\
|
| 79 |
set -e\n\
|
| 80 |
mkdir -p /root/.openclaw/sessions\n\
|
|
@@ -83,38 +84,37 @@ mkdir -p /root/.openclaw/workspace\n\
|
|
| 83 |
# 启动前执行数据恢复\n\
|
| 84 |
python3 /usr/local/bin/sync.py restore\n\
|
| 85 |
\n\
|
| 86 |
-
# 清理 API Base 地址\n\
|
| 87 |
-
CLEAN_BASE=\$(echo \"\$OPENAI_API_BASE\" | sed \"s|/chat/completions||g\" | sed \"s|/v1/|/v1|g\" | sed \"s|/v1\$|/v1|g\")\n\
|
| 88 |
-
\n\
|
| 89 |
# 生成 openclaw.json 配置文件\n\
|
| 90 |
cat > /root/.openclaw/openclaw.json <<EOF\n\
|
| 91 |
{\n\
|
| 92 |
\"models\": {\n\
|
| 93 |
\"providers\": {\n\
|
| 94 |
-
\"
|
| 95 |
-
\"
|
| 96 |
-
\"
|
| 97 |
-
\"
|
| 98 |
-
|
|
|
|
| 99 |
}\n\
|
| 100 |
}\n\
|
| 101 |
},\n\
|
| 102 |
-
\"agents\": { \"defaults\": { \"model\": { \"primary\": \"
|
| 103 |
\"gateway\": {\n\
|
| 104 |
-
\"mode\": \"local\", \
|
| 105 |
-
\"
|
|
|
|
|
|
|
| 106 |
\"auth\": { \"mode\": \"token\", \"token\": \"\$OPENCLAW_GATEWAY_PASSWORD\" },\n\
|
| 107 |
\"controlUi\": { \"allowInsecureAuth\": true }\n\
|
| 108 |
}\n\
|
| 109 |
}\n\
|
| 110 |
EOF\n\
|
| 111 |
\n\
|
| 112 |
-
# 启动定时备份进程
|
| 113 |
(while true; do sleep 10800; python3 /usr/local/bin/sync.py backup; done) &\n\
|
| 114 |
\n\
|
| 115 |
-
# 启动 OpenClaw 网关\n\
|
| 116 |
-
openclaw
|
| 117 |
-
exec openclaw gateway run --port \$PORT\n\
|
| 118 |
" > /usr/local/bin/start-openclaw && chmod +x /usr/local/bin/start-openclaw
|
| 119 |
|
| 120 |
EXPOSE 7860
|
|
|
|
| 75 |
|
| 76 |
# 7. 容器入口脚本 (start-openclaw)
|
| 77 |
# 负责恢复数据 -> 生成配置 -> 启动网关 -> 定时备份
|
| 78 |
+
# 7. 容器入口脚本 (Updated for Gemini & Security Fix)
|
| 79 |
RUN echo "#!/bin/bash\n\
|
| 80 |
set -e\n\
|
| 81 |
mkdir -p /root/.openclaw/sessions\n\
|
|
|
|
| 84 |
# 启动前执行数据恢复\n\
|
| 85 |
python3 /usr/local/bin/sync.py restore\n\
|
| 86 |
\n\
|
|
|
|
|
|
|
|
|
|
| 87 |
# 生成 openclaw.json 配置文件\n\
|
| 88 |
cat > /root/.openclaw/openclaw.json <<EOF\n\
|
| 89 |
{\n\
|
| 90 |
\"models\": {\n\
|
| 91 |
\"providers\": {\n\
|
| 92 |
+
\"google\": {\n\
|
| 93 |
+
\"apiKey\": \"\$GEMINI_API_KEY\",\n\
|
| 94 |
+
\"api\": \"google-generative-ai\",\n\
|
| 95 |
+
\"models\": [\n\
|
| 96 |
+
{ \"id\": \"\$MODEL\", \"name\": \"Gemini Pro\", \"contextWindow\": 1000000 }\n\
|
| 97 |
+
]\n\
|
| 98 |
}\n\
|
| 99 |
}\n\
|
| 100 |
},\n\
|
| 101 |
+
\"agents\": { \"defaults\": { \"model\": { \"primary\": \"google/\$MODEL\" } } },\n\
|
| 102 |
\"gateway\": {\n\
|
| 103 |
+
\"mode\": \"local\", \n\
|
| 104 |
+
\"bind\": \"loopback\", \n\
|
| 105 |
+
\"port\": \$PORT,\n\
|
| 106 |
+
\"trustedProxies\": [\"0.0.0.0/0\"],\n\
|
| 107 |
\"auth\": { \"mode\": \"token\", \"token\": \"\$OPENCLAW_GATEWAY_PASSWORD\" },\n\
|
| 108 |
\"controlUi\": { \"allowInsecureAuth\": true }\n\
|
| 109 |
}\n\
|
| 110 |
}\n\
|
| 111 |
EOF\n\
|
| 112 |
\n\
|
| 113 |
+
# 启动定时备份进程\n\
|
| 114 |
(while true; do sleep 10800; python3 /usr/local/bin/sync.py backup; done) &\n\
|
| 115 |
\n\
|
| 116 |
+
# 启动 OpenClaw 网关 (Force Loopback to skip security error)\n\
|
| 117 |
+
exec openclaw gateway run --port \$PORT --bind 127.0.0.1\n\
|
|
|
|
| 118 |
" > /usr/local/bin/start-openclaw && chmod +x /usr/local/bin/start-openclaw
|
| 119 |
|
| 120 |
EXPOSE 7860
|