Update Dockerfile
Browse files- Dockerfile +29 -7
Dockerfile
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
FROM docker.io/library/ubuntu:24.04
|
| 2 |
|
| 3 |
ENV DEBIAN_FRONTEND=noninteractive
|
|
@@ -12,14 +13,19 @@ RUN apt-get update && apt-get install -y \
|
|
| 12 |
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
|
| 13 |
&& apt-get install -y nodejs
|
| 14 |
|
| 15 |
-
# 安装 openclaw
|
| 16 |
RUN npm install -g openclaw@latest
|
| 17 |
-
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
RUN pip3 install --break-system-packages huggingface_hub -q
|
| 20 |
|
| 21 |
-
# 映射 HF Secrets
|
| 22 |
ENV OPENCLAW_LLM_MODEL=${RAW_MODEL:-z-ai/glm4.7}
|
|
|
|
|
|
|
| 23 |
|
| 24 |
RUN mkdir -p /root/.openclaw /data /var/log/openclaw /scripts
|
| 25 |
|
|
@@ -59,8 +65,23 @@ backup_weixin_session() {\n\
|
|
| 59 |
# ── 生成微信二维码 URL ──────────────────────────────\n\
|
| 60 |
generate_weixin_qr() {\n\
|
| 61 |
log_info "正在获取微信二维码 URL..."\n\
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
openclaw channels login --channel openclaw-weixin > "${WEIXIN_QR_FILE}" 2>&1 &\n\
|
| 63 |
LOGIN_PID=$!\n\
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
for i in $(seq 1 30); do\n\
|
| 65 |
if grep -q "ilinkai.weixin.qq.com" "${WEIXIN_QR_FILE}" 2>/dev/null; then\n\
|
| 66 |
QR_URL=$(grep "ilinkai.weixin.qq.com" "${WEIXIN_QR_FILE}" | head -1 | tr -d "[:space:]")\n\
|
|
@@ -73,7 +94,11 @@ generate_weixin_qr() {\n\
|
|
| 73 |
fi\n\
|
| 74 |
sleep 1\n\
|
| 75 |
done\n\
|
| 76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
}\n\
|
| 78 |
\n\
|
| 79 |
restore_if_exists() {\n\
|
|
@@ -179,6 +204,3 @@ EXPOSE 7860
|
|
| 179 |
ENTRYPOINT ["/scripts/openclaw-entrypoint.sh"]
|
| 180 |
|
| 181 |
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
|
|
|
| 1 |
+
|
| 2 |
FROM docker.io/library/ubuntu:24.04
|
| 3 |
|
| 4 |
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
| 13 |
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
|
| 14 |
&& apt-get install -y nodejs
|
| 15 |
|
| 16 |
+
# 安装 openclaw
|
| 17 |
RUN npm install -g openclaw@latest
|
| 18 |
+
|
| 19 |
+
# 🔧 关键修改:安装微信插件到 OpenClaw 期望的目录
|
| 20 |
+
RUN mkdir -p /data/.openclaw/npm/node_modules
|
| 21 |
+
RUN cd /data/.openclaw/npm && npm install @tencent-weixin/openclaw-weixin
|
| 22 |
|
| 23 |
RUN pip3 install --break-system-packages huggingface_hub -q
|
| 24 |
|
| 25 |
+
# 映射 HF Secrets 到脚本期望的变量
|
| 26 |
ENV OPENCLAW_LLM_MODEL=${RAW_MODEL:-z-ai/glm4.7}
|
| 27 |
+
ENV OPENCLAW_BACKUP_ENABLED=${OPENCLAW_BACKUP_ENABLED:-true}
|
| 28 |
+
ENV OPENCLAW_BACKUP_DATASET_REPO=${OPENCLAW_BACKUP_DATASET_REPO:-}
|
| 29 |
|
| 30 |
RUN mkdir -p /root/.openclaw /data /var/log/openclaw /scripts
|
| 31 |
|
|
|
|
| 65 |
# ── 生成微信二维码 URL ──────────────────────────────\n\
|
| 66 |
generate_weixin_qr() {\n\
|
| 67 |
log_info "正在获取微信二维码 URL..."\n\
|
| 68 |
+
\n\
|
| 69 |
+
# 检查是否已有 session\n\
|
| 70 |
+
if [[ -f "${OPENCLAW_STATE_DIR}/weixin_session" ]] || [[ -f "${OPENCLAW_STATE_DIR}/session_weixin" ]]; then\n\
|
| 71 |
+
log_info "=========================================="\n\
|
| 72 |
+
log_info "发现已有微信登录 session,无需扫码"\n\
|
| 73 |
+
log_info "如需重新登录,请删除 session 文件后重启"\n\
|
| 74 |
+
log_info "=========================================="\n\
|
| 75 |
+
return 0\n\
|
| 76 |
+
fi\n\
|
| 77 |
+
\n\
|
| 78 |
+
# 没有 session,生成二维码\n\
|
| 79 |
openclaw channels login --channel openclaw-weixin > "${WEIXIN_QR_FILE}" 2>&1 &\n\
|
| 80 |
LOGIN_PID=$!\n\
|
| 81 |
+
\n\
|
| 82 |
+
# 等待命令启动\n\
|
| 83 |
+
sleep 3\n\
|
| 84 |
+
\n\
|
| 85 |
for i in $(seq 1 30); do\n\
|
| 86 |
if grep -q "ilinkai.weixin.qq.com" "${WEIXIN_QR_FILE}" 2>/dev/null; then\n\
|
| 87 |
QR_URL=$(grep "ilinkai.weixin.qq.com" "${WEIXIN_QR_FILE}" | head -1 | tr -d "[:space:]")\n\
|
|
|
|
| 94 |
fi\n\
|
| 95 |
sleep 1\n\
|
| 96 |
done\n\
|
| 97 |
+
\n\
|
| 98 |
+
# 调试:显示完整输出\n\
|
| 99 |
+
log_info "未能自动获取二维码 URL,完整输出:"\n\
|
| 100 |
+
cat "${WEIXIN_QR_FILE}" >> /var/log/openclaw/gateway.stdout.log 2>/dev/null || true\n\
|
| 101 |
+
log_info "请查看上方日志获取 ilinkai.weixin.qq.com 链接"\n\
|
| 102 |
}\n\
|
| 103 |
\n\
|
| 104 |
restore_if_exists() {\n\
|
|
|
|
| 204 |
ENTRYPOINT ["/scripts/openclaw-entrypoint.sh"]
|
| 205 |
|
| 206 |
|
|
|
|
|
|
|
|
|