kyle-ai commited on
Commit
0bd0b14
·
verified ·
1 Parent(s): e5775a8

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +24 -13
Dockerfile CHANGED
@@ -78,7 +78,7 @@ if __name__ == "__main__":\n\
78
  if len(sys.argv) > 1 and sys.argv[1] == "backup": backup()\n\
79
  else: restore()' > /usr/local/bin/sync.py
80
 
81
- # 6. 深度调试启动脚本 (抛弃 PM2,直接暴露日志)
82
  RUN echo "#!/bin/bash\n\
83
  set -e\n\
84
  \n\
@@ -94,7 +94,7 @@ python3 /usr/local/bin/sync.py restore\n\
94
  find /root/.openclaw -name \"*.lock\" -delete\n\
95
  chmod 700 /root/.openclaw\n\
96
  \n\
97
- # 4. 生成配置文件\n\
98
  CLEAN_BASE=\$(echo \"\$OPENAI_API_BASE\" | sed \"s|/chat/completions||g\" | sed \"s|/v1/|/v1|g\")\n\
99
  \n\
100
  cat > /root/.openclaw/openclaw.json <<EOF\n\
@@ -103,35 +103,46 @@ cat > /root/.openclaw/openclaw.json <<EOF\n\
103
  \"agents\": { \"defaults\": { \"model\": { \"primary\": \"siliconflow/\$MODEL\" } } },\n\
104
  \"gateway\": {\n\
105
  \"mode\": \"local\",\n\
106
- \"bind\": \"0.0.0.0\",\n\
107
  \"port\": 7860,\n\
108
- \"auth\": { \"mode\": \"token\", \"token\": \"\$OPENCLAW_GATEWAY_PASSWORD\" },\n\
 
 
 
 
 
 
 
 
 
 
 
 
109
  \"controlUi\": {\n\
110
  \"enabled\": true,\n\
111
  \"allowInsecureAuth\": true,\n\
112
  \"dangerouslyDisableDeviceAuth\": true,\n\
113
  \"dangerouslyAllowHostHeaderOriginFallback\": true\n\
 
 
 
114
  }\n\
115
  }\n\
116
  }\n\
117
  EOF\n\
118
  \n\
119
- echo \"--- [System] 📄 检查配置文件内容: ---\"\n\
120
- cat /root/.openclaw/openclaw.json\n\
121
- \n\
122
- # 5. 启动后台备份任务\n\
123
  (while true; do \n\
124
  sleep 1800; \n\
125
  python3 /usr/local/bin/sync.py backup; \n\
126
  done) &\n\
127
  \n\
128
- # 6. 【关键】直接启动 OpenClaw (前台运行)\n\
129
- echo \"--- [System] 🚀 正在启动 OpenClaw Gateway... ---\"\n\
 
 
130
  export NODE_ENV=production\n\
131
- export HOST=0.0.0.0\n\
132
- export OPENCLAW_TRUST_LOCAL_WS=1\n\
133
  \n\
134
- # 获取 openclaw 绝对路径并运行\n\
135
  OPENCLAW_BIN=\$(which openclaw)\n\
136
  exec \$OPENCLAW_BIN gateway run --port 7860\n\
137
  " > /usr/local/bin/start-openclaw && chmod +x /usr/local/bin/start-openclaw
 
78
  if len(sys.argv) > 1 and sys.argv[1] == "backup": backup()\n\
79
  else: restore()' > /usr/local/bin/sync.py
80
 
81
+ # 6. 安全增强版启动脚本 (适配 2.26 + 隐私保护)
82
  RUN echo "#!/bin/bash\n\
83
  set -e\n\
84
  \n\
 
94
  find /root/.openclaw -name \"*.lock\" -delete\n\
95
  chmod 700 /root/.openclaw\n\
96
  \n\
97
+ # 4. 生成配置文件 (已应用用户自定义的 gateway 安全配置)\n\
98
  CLEAN_BASE=\$(echo \"\$OPENAI_API_BASE\" | sed \"s|/chat/completions||g\" | sed \"s|/v1/|/v1|g\")\n\
99
  \n\
100
  cat > /root/.openclaw/openclaw.json <<EOF\n\
 
103
  \"agents\": { \"defaults\": { \"model\": { \"primary\": \"siliconflow/\$MODEL\" } } },\n\
104
  \"gateway\": {\n\
105
  \"mode\": \"local\",\n\
 
106
  \"port\": 7860,\n\
107
+ \"bind\": \"custom\",\n\
108
+ \"customBindHost\": \"0.0.0.0\",\n\
109
+ \"trustedProxies\": [\"10.0.0.0/8\"],\n\
110
+ \"auth\": {\n\
111
+ \"mode\": \"token\",\n\
112
+ \"token\": \"\$OPENCLAW_GATEWAY_PASSWORD\",\n\
113
+ \"rateLimit\": {\n\
114
+ \"maxAttempts\": 10,\n\
115
+ \"windowMs\": 60000,\n\
116
+ \"lockoutMs\": 300000,\n\
117
+ \"exemptLoopback\": true\n\
118
+ }\n\
119
+ },\n\
120
  \"controlUi\": {\n\
121
  \"enabled\": true,\n\
122
  \"allowInsecureAuth\": true,\n\
123
  \"dangerouslyDisableDeviceAuth\": true,\n\
124
  \"dangerouslyAllowHostHeaderOriginFallback\": true\n\
125
+ },\n\
126
+ \"tools\": {\n\
127
+ \"deny\": [\"gateway\"]\n\
128
  }\n\
129
  }\n\
130
  }\n\
131
  EOF\n\
132
  \n\
133
+ # 5. 后台备份任务\n\
 
 
 
134
  (while true; do \n\
135
  sleep 1800; \n\
136
  python3 /usr/local/bin/sync.py backup; \n\
137
  done) &\n\
138
  \n\
139
+ # 6. 启动 OpenClaw (移除 cat 命令,保护隐私)\n\
140
+ echo \"--- [System] 🚀 正在启动 OpenClaw Gateway (端口 7860)... ---\"\n\
141
+ echo \"--- [System] ℹ️ 配置文件已生成,敏感信息已脱敏处理。 ---\"\n\
142
+ \n\
143
  export NODE_ENV=production\n\
144
+ export OPENCLAW_TRUST_PROXY=true\n\
 
145
  \n\
 
146
  OPENCLAW_BIN=\$(which openclaw)\n\
147
  exec \$OPENCLAW_BIN gateway run --port 7860\n\
148
  " > /usr/local/bin/start-openclaw && chmod +x /usr/local/bin/start-openclaw