CoolFace
Apppublic

ckriti/HuggingClaw

sourceHugging Facemitupdated 7mo agoView on Hugging Face
0likes
Dockerfile67 linesDownload Raw Back to root
1FROM node:22-bookworm2 3SHELL ["/bin/bash", "-c"]4 5# Limit node memory6ENV NODE_OPTIONS="--max-old-space-size=512"7ENV PNPM_HOME="/pnpm"8ENV PATH="$PNPM_HOME:$PATH"9 10# -----------------------------11# Layer 1 — system deps12# -----------------------------13RUN echo "[build][layer1] installing deps..." \14 && apt-get update \15 && apt-get install -y --no-install-recommends \16      git \17      ca-certificates \18      curl \19      python3 \20      python3-pip \21      patch \22 && rm -rf /var/lib/apt/lists/* \23 && pip3 install --no-cache-dir --break-system-packages huggingface_hub \24 && corepack enable \25 && corepack prepare pnpm@10.23.0 --activate \26 && mkdir -p /app27 28WORKDIR /app29 30# -----------------------------31# patches32# -----------------------------33COPY patches /app/patches34 35# -----------------------------36# Layer 2 — build OpenClaw37# -----------------------------38RUN echo "[build][layer2] clone + build..." \39 && git clone --depth 1 https://github.com/openclaw/openclaw.git \40 && cd openclaw \41 \42 && echo "[build] applying patches..." \43 && for p in /app/patches/*.patch; do \44      if [ -f "$p" ]; then \45        patch -p1 < "$p" || echo "[build] patch skipped: $(basename $p)"; \46      fi; \47    done \48 \49 && echo "[build] installing deps (low memory mode)..." \50 && pnpm install \51      --frozen-lockfile \52      --prefer-offline \53      --child-concurrency=2 \54      --network-concurrency=2 \55 \56 && echo "[build] building core..." \57 && pnpm build \58 \59 && echo "[build] building UI..." \60 && pnpm ui:build \61 \62 && echo "[build] cleanup to reduce RAM usage" \63 && pnpm store prune64 65WORKDIR /app/openclaw66 67CMD ["node", "dist/entry.js"]