Update Dockerfile
Browse files- Dockerfile +6 -5
Dockerfile
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 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 socat \
|
|
@@ -24,7 +24,7 @@ RUN mkdir -p /home/node/.openclaw/sessions \
|
|
| 24 |
&& mkdir -p /home/node/data \
|
| 25 |
&& chown -R node:node /home/node
|
| 26 |
|
| 27 |
-
# 5. 容器入口脚本
|
| 28 |
RUN echo "#!/bin/bash\n\
|
| 29 |
set -e\n\
|
| 30 |
\n\
|
|
@@ -49,7 +49,6 @@ fi\n\
|
|
| 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\
|
|
@@ -77,6 +76,10 @@ if [ -n \"\$HF_TOKEN\" ] && [ -n \"\$DATASET_REPO\" ]; then\n\
|
|
| 77 |
sleep 300;\n\
|
| 78 |
cp -r /home/node/.openclaw/sessions /home/node/data/ 2>/dev/null || true;\n\
|
| 79 |
cp -r /home/node/.openclaw/workspace /home/node/data/ 2>/dev/null || true;\n\
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
cd /home/node/data;\n\
|
| 81 |
if [[ \$(git status --porcelain) ]]; then\n\
|
| 82 |
echo \"💾 [自动同步] 发现数据变动,正在上传...\"\n\
|
|
@@ -88,11 +91,9 @@ if [ -n \"\$HF_TOKEN\" ] && [ -n \"\$DATASET_REPO\" ]; then\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
|
|
|
|
| 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 socat \
|
|
|
|
| 24 |
&& mkdir -p /home/node/data \
|
| 25 |
&& chown -R node:node /home/node
|
| 26 |
|
| 27 |
+
# 5. 容器入口脚本
|
| 28 |
RUN echo "#!/bin/bash\n\
|
| 29 |
set -e\n\
|
| 30 |
\n\
|
|
|
|
| 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 |
cat > /home/node/.openclaw/openclaw.json <<EOF\n\
|
| 53 |
{\n\
|
| 54 |
\"models\": {\n\
|
|
|
|
| 76 |
sleep 300;\n\
|
| 77 |
cp -r /home/node/.openclaw/sessions /home/node/data/ 2>/dev/null || true;\n\
|
| 78 |
cp -r /home/node/.openclaw/workspace /home/node/data/ 2>/dev/null || true;\n\
|
| 79 |
+
\n\
|
| 80 |
+
# 👇 核心修复:干掉嵌套的 .git 文件夹,防止 Git 变异成子模块崩溃\n\
|
| 81 |
+
rm -rf /home/node/data/workspace/.git 2>/dev/null || true;\n\
|
| 82 |
+
\n\
|
| 83 |
cd /home/node/data;\n\
|
| 84 |
if [[ \$(git status --porcelain) ]]; then\n\
|
| 85 |
echo \"💾 [自动同步] 发现数据变动,正在上传...\"\n\
|
|
|
|
| 91 |
fi\n\
|
| 92 |
\n\
|
| 93 |
cd /home/node/.openclaw\n\
|
|
|
|
| 94 |
echo \"🔌 启动端口转发引擎...\"\n\
|
| 95 |
socat TCP4-LISTEN:7860,fork,reuseaddr TCP4:127.0.0.1:25808 &\n\
|
| 96 |
\n\
|
|
|
|
| 97 |
echo \"🚀 启动 OpenClaw Gateway...\"\n\
|
| 98 |
exec openclaw gateway run --port 25808 --allow-unconfigured\n\
|
| 99 |
" > /usr/local/bin/start-openclaw && chmod +x /usr/local/bin/start-openclaw
|