| |
| |
| |
| |
|
|
| |
| ARG OPENCLAW_VERSION=latest |
| FROM ghcr.io/openclaw/openclaw:${OPENCLAW_VERSION} AS openclaw |
|
|
| |
| FROM node:22-slim |
| ARG OPENCLAW_VERSION=latest |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| git \ |
| ca-certificates \ |
| jq \ |
| curl \ |
| python3 \ |
| python3-pip \ |
| chromium \ |
| libnss3 \ |
| libatk1.0-0 \ |
| libatk-bridge2.0-0 \ |
| libdrm2 \ |
| libgbm1 \ |
| libxcomposite1 \ |
| libxdamage1 \ |
| libxrandr2 \ |
| libxkbcommon0 \ |
| libx11-6 \ |
| libxext6 \ |
| libxfixes3 \ |
| libasound2 \ |
| fonts-dejavu-core \ |
| fonts-liberation \ |
| fonts-noto-color-emoji \ |
| fonts-freefont-ttf \ |
| fonts-ipafont-gothic \ |
| fonts-wqy-zenhei \ |
| xfonts-scalable \ |
| ffmpeg \ |
| --no-install-recommends && \ |
| pip3 install --no-cache-dir --break-system-packages huggingface_hub && \ |
| rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN mkdir -p /home/node/app /home/node/.openclaw && \ |
| chown -R 1000:1000 /home/node |
|
|
| |
| COPY --from=openclaw --chown=1000:1000 /app /home/node/.openclaw/openclaw-app |
|
|
| |
| |
| RUN mkdir -p /home/node/browser-deps && \ |
| cd /home/node/browser-deps && \ |
| npm init -y && \ |
| PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npm install --omit=dev playwright@1.59.1 |
|
|
| |
| RUN ln -s /home/node/.openclaw/openclaw-app/openclaw.mjs /usr/local/bin/openclaw 2>/dev/null || \ |
| npm install -g openclaw@${OPENCLAW_VERSION} |
|
|
| |
| COPY --chown=1000:1000 dns-fix.js /opt/dns-fix.js |
| COPY --chown=1000:1000 health-server.js /home/node/app/health-server.js |
| COPY --chown=1000:1000 iframe-fix.cjs /home/node/app/iframe-fix.cjs |
| COPY --chown=1000:1000 start.sh /home/node/app/start.sh |
| COPY --chown=1000:1000 wa-guardian.js /home/node/app/wa-guardian.js |
| COPY --chown=1000:1000 workspace-sync.py /home/node/app/workspace-sync.py |
| RUN chmod +x /home/node/app/start.sh |
|
|
| USER node |
|
|
| ENV HOME=/home/node \ |
| OPENCLAW_VERSION=${OPENCLAW_VERSION} \ |
| PATH=/home/node/.local/bin:/usr/local/bin:$PATH \ |
| NODE_PATH=/home/node/browser-deps/node_modules \ |
| NODE_OPTIONS="--require /opt/dns-fix.js" |
|
|
| WORKDIR /home/node/app |
|
|
| EXPOSE 7861 |
|
|
| CMD ["/home/node/app/start.sh"] |
|
|