Update Dockerfile
Browse files- Dockerfile +14 -14
Dockerfile
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
# 核心镜像:Node 22 slim
|
| 2 |
FROM node:22-slim
|
| 3 |
|
| 4 |
-
# 1. 安装系统依赖
|
| 5 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 6 |
git openssh-client build-essential \
|
| 7 |
-
g++ make ca-certificates \
|
| 8 |
&& rm -rf /var/lib/apt/lists/*
|
| 9 |
|
| 10 |
# 2. 构建环境优化
|
|
@@ -12,12 +12,11 @@ RUN update-ca-certificates && \
|
|
| 12 |
git config --global http.sslVerify false && \
|
| 13 |
git config --global url."https://github.com/".insteadOf ssh://git@github.com/
|
| 14 |
|
| 15 |
-
# 3. 全局安装 OpenClaw
|
| 16 |
RUN npm install -g openclaw@latest --unsafe-perm
|
| 17 |
|
| 18 |
-
# 4. 环境与权限设置
|
| 19 |
ENV PORT=7860 \
|
| 20 |
-
OPENCLAW_GATEWAY_MODE=local \
|
| 21 |
HOME=/home/node
|
| 22 |
|
| 23 |
RUN mkdir -p /home/node/.openclaw/sessions \
|
|
@@ -50,6 +49,7 @@ fi\n\
|
|
| 50 |
CLEAN_BASE=\$(echo \"\$OPENAI_API_BASE\" | sed \"s|/chat/completions||g\" | sed \"s|/v1/|/v1|g\" | sed \"s|/v1\$|/v1|g\")\n\
|
| 51 |
\n\
|
| 52 |
echo \"⚙️ 正在生成 OpenClaw 配置文件...\"\n\
|
|
|
|
| 53 |
cat > /home/node/.openclaw/openclaw.json <<EOF\n\
|
| 54 |
{\n\
|
| 55 |
\"models\": {\n\
|
|
@@ -64,18 +64,14 @@ cat > /home/node/.openclaw/openclaw.json <<EOF\n\
|
|
| 64 |
},\n\
|
| 65 |
\"agents\": { \"defaults\": { \"model\": { \"primary\": \"siliconflow/\$MODEL\" } } },\n\
|
| 66 |
\"gateway\": {\n\
|
| 67 |
-
\"mode\": \"local\", \"bind\": \"
|
| 68 |
-
\"trustedProxies\": [\"0.0.0.0/0\", \"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"],\n\
|
| 69 |
\"auth\": { \"mode\": \"token\", \"token\": \"\$OPENCLAW_GATEWAY_PASSWORD\" },\n\
|
| 70 |
\"controlUi\": { \"allowInsecureAuth\": true }\n\
|
| 71 |
}\n\
|
| 72 |
}\n\
|
| 73 |
EOF\n\
|
| 74 |
\n\
|
| 75 |
-
if [ -n \"\$SPACE_HOST\" ]; then\n\
|
| 76 |
-
export OPENCLAW_GATEWAY_URL=\"wss://\$SPACE_HOST\"\n\
|
| 77 |
-
fi\n\
|
| 78 |
-
\n\
|
| 79 |
if [ -n \"\$HF_TOKEN\" ] && [ -n \"\$DATASET_REPO\" ]; then\n\
|
| 80 |
(while true; do \n\
|
| 81 |
sleep 300;\n\
|
|
@@ -92,9 +88,13 @@ if [ -n \"\$HF_TOKEN\" ] && [ -n \"\$DATASET_REPO\" ]; then\n\
|
|
| 92 |
fi\n\
|
| 93 |
\n\
|
| 94 |
cd /home/node/.openclaw\n\
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 98 |
" > /usr/local/bin/start-openclaw && chmod +x /usr/local/bin/start-openclaw
|
| 99 |
|
| 100 |
# 6. 切换到普通用户运行
|
|
|
|
| 1 |
# 核心镜像:Node 22 slim
|
| 2 |
FROM node:22-slim
|
| 3 |
|
| 4 |
+
# 1. 安装系统依赖 (👉 增加了 socat 神器)
|
| 5 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 6 |
git openssh-client build-essential \
|
| 7 |
+
g++ make ca-certificates socat \
|
| 8 |
&& rm -rf /var/lib/apt/lists/*
|
| 9 |
|
| 10 |
# 2. 构建环境优化
|
|
|
|
| 12 |
git config --global http.sslVerify false && \
|
| 13 |
git config --global url."https://github.com/".insteadOf ssh://git@github.com/
|
| 14 |
|
| 15 |
+
# 3. 全局安装 OpenClaw 最新版
|
| 16 |
RUN npm install -g openclaw@latest --unsafe-perm
|
| 17 |
|
| 18 |
+
# 4. 环境与权限设置
|
| 19 |
ENV PORT=7860 \
|
|
|
|
| 20 |
HOME=/home/node
|
| 21 |
|
| 22 |
RUN mkdir -p /home/node/.openclaw/sessions \
|
|
|
|
| 49 |
CLEAN_BASE=\$(echo \"\$OPENAI_API_BASE\" | sed \"s|/chat/completions||g\" | sed \"s|/v1/|/v1|g\" | sed \"s|/v1\$|/v1|g\")\n\
|
| 50 |
\n\
|
| 51 |
echo \"⚙️ 正在生成 OpenClaw 配置文件...\"\n\
|
| 52 |
+
# 👉 核心修改:bind 改为 loopback,端口改为 25808\n\
|
| 53 |
cat > /home/node/.openclaw/openclaw.json <<EOF\n\
|
| 54 |
{\n\
|
| 55 |
\"models\": {\n\
|
|
|
|
| 64 |
},\n\
|
| 65 |
\"agents\": { \"defaults\": { \"model\": { \"primary\": \"siliconflow/\$MODEL\" } } },\n\
|
| 66 |
\"gateway\": {\n\
|
| 67 |
+
\"mode\": \"local\", \"bind\": \"loopback\", \"port\": 25808,\n\
|
| 68 |
+
\"trustedProxies\": [\"127.0.0.1/32\", \"0.0.0.0/0\", \"10.0.0.0/8\", \"172.16.0.0/12\", \"192.168.0.0/16\"],\n\
|
| 69 |
\"auth\": { \"mode\": \"token\", \"token\": \"\$OPENCLAW_GATEWAY_PASSWORD\" },\n\
|
| 70 |
\"controlUi\": { \"allowInsecureAuth\": true }\n\
|
| 71 |
}\n\
|
| 72 |
}\n\
|
| 73 |
EOF\n\
|
| 74 |
\n\
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
if [ -n \"\$HF_TOKEN\" ] && [ -n \"\$DATASET_REPO\" ]; then\n\
|
| 76 |
(while true; do \n\
|
| 77 |
sleep 300;\n\
|
|
|
|
| 88 |
fi\n\
|
| 89 |
\n\
|
| 90 |
cd /home/node/.openclaw\n\
|
| 91 |
+
# 👉 后台启动端口转发,默默将 7860 送进 25808\n\
|
| 92 |
+
echo \"🔌 启动端口转发引擎...\"\n\
|
| 93 |
+
socat TCP4-LISTEN:7860,fork,reuseaddr TCP4:127.0.0.1:25808 &\n\
|
| 94 |
+
\n\
|
| 95 |
+
# 👉 删除了讨厌的 doctor!直接把 OpenClaw 顶到前台运行\n\
|
| 96 |
+
echo \"🚀 启动 OpenClaw Gateway...\"\n\
|
| 97 |
+
exec openclaw gateway run --port 25808 --allow-unconfigured\n\
|
| 98 |
" > /usr/local/bin/start-openclaw && chmod +x /usr/local/bin/start-openclaw
|
| 99 |
|
| 100 |
# 6. 切换到普通用户运行
|