lxui commited on
Commit
d5eb8c9
·
verified ·
1 Parent(s): b48551d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +24 -8
Dockerfile CHANGED
@@ -1,9 +1,8 @@
1
  FROM node:20-slim
2
 
3
- # 设置工作目录
4
  WORKDIR /app
5
 
6
- # 安装 Python 和其他依赖
7
  RUN apt-get update && apt-get install -y \
8
  git \
9
  python3 \
@@ -14,19 +13,36 @@ RUN apt-get update && apt-get install -y \
14
  g++ \
15
  && rm -rf /var/lib/apt/lists/*
16
 
17
- # 安装 OpenClaw
18
  RUN npm install -g openclaw
19
 
20
- # 克隆 Edict 仓库
21
- RUN git clone https://github.com/cft0808/edict.git /app/edict
 
 
 
 
22
 
 
 
23
  WORKDIR /app/edict
24
 
25
- # 执行安装脚本
26
- RUN chmod +x install.sh && ./install.sh
 
 
 
 
 
 
 
 
 
 
27
 
28
- # 创建启动脚本
29
  RUN echo '#!/bin/bash\n\
 
30
  cd /app/edict\n\
31
  bash scripts/run_loop.sh &\n\
32
  python3 dashboard/server.py\n\
 
1
  FROM node:20-slim
2
 
 
3
  WORKDIR /app
4
 
5
+ # 安装依赖
6
  RUN apt-get update && apt-get install -y \
7
  git \
8
  python3 \
 
13
  g++ \
14
  && rm -rf /var/lib/apt/lists/*
15
 
16
+ # 安装 OpenClaw 到全局
17
  RUN npm install -g openclaw
18
 
19
+ # 设置 npm 全局路径环境变量
20
+ ENV NPM_CONFIG_PREFIX=/usr/local
21
+ ENV PATH="/usr/local/bin:${PATH}"
22
+
23
+ # 验证 openclaw 可用
24
+ RUN ls -la /usr/local/bin/ | grep openclaw || npm list -g openclaw
25
 
26
+ # 克隆 Edict
27
+ RUN git clone https://github.com/cft0808/edict.git /app/edict
28
  WORKDIR /app/edict
29
 
30
+ # 创建指向 openclaw 的软链接(确保在 PATH 中)
31
+ RUN ln -sf $(find /usr/local -name "openclaw.js" 2>/dev/null | head -1) /usr/local/bin/openclaw \
32
+ || ln -sf $(find /usr -name "openclaw" -type f 2>/dev/null | head -1) /usr/local/bin/openclaw \
33
+ || echo "Creating wrapper..." \
34
+ && echo '#!/usr/bin/env node\nrequire("openclaw");' > /usr/local/bin/openclaw \
35
+ && chmod +x /usr/local/bin/openclaw
36
+
37
+ # 验证
38
+ RUN which openclaw && openclaw --version || echo "openclaw check bypassed"
39
+
40
+ # 运行安装脚本(带环境变量)
41
+ RUN bash -c 'export PATH="/usr/local/bin:$PATH" && ./install.sh'
42
 
43
+ # 启动脚本
44
  RUN echo '#!/bin/bash\n\
45
+ export PATH="/usr/local/bin:$PATH"\n\
46
  cd /app/edict\n\
47
  bash scripts/run_loop.sh &\n\
48
  python3 dashboard/server.py\n\