1515ARG OPENCLAW_EXTENSIONS=""
1616ARG OPENCLAW_VARIANT=default
1717ARG OPENCLAW_DOCKER_APT_UPGRADE=1
18- ARG OPENCLAW_CADDY_IMAGE="caddy:2"
1918ARG OPENCLAW_NODE_BOOKWORM_IMAGE="node:24-bookworm@sha256:3a09aa6354567619221ef6c45a5051b671f953f0a1924d1f819ffb236e520e6b"
2019ARG OPENCLAW_NODE_BOOKWORM_DIGEST="sha256:3a09aa6354567619221ef6c45a5051b671f953f0a1924d1f819ffb236e520e6b"
2120ARG OPENCLAW_NODE_BOOKWORM_SLIM_IMAGE="node:24-bookworm-slim@sha256:e8e2e91b1378f83c5b2dd15f0247f34110e2fe895f6ca7719dbb780f929368eb"
@@ -38,8 +37,6 @@ RUN mkdir -p /out && \
3837 fi; \
3938 done
4039
41- FROM ${OPENCLAW_CADDY_IMAGE} AS caddy-binary
42-
4340FROM ${OPENCLAW_NODE_BOOKWORM_IMAGE} AS build
4441
4542# Install Bun (required for build scripts). Retry the whole bootstrap flow to
@@ -152,9 +149,6 @@ COPY --from=runtime-assets --chown=node:node /app/openclaw.mjs .
152149COPY --from=runtime-assets --chown=node:node /app/extensions ./extensions
153150COPY --from=runtime-assets --chown=node:node /app/skills ./skills
154151COPY --from=runtime-assets --chown=node:node /app/docs ./docs
155- COPY --from=caddy-binary /usr/bin/caddy /usr/bin/caddy
156- COPY openclaw/Caddyfile /etc/caddy/Caddyfile
157- COPY openclaw/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
158152
159153# In npm-installed Docker images, prefer the copied source extension tree for
160154# bundled discovery so package metadata that points at source entries stays valid.
@@ -241,12 +235,8 @@ RUN --mount=type=cache,id=openclaw-bookworm-apt-cache,target=/var/cache/apt,shar
241235 fi
242236
243237RUN ln -sf /app/openclaw.mjs /usr/local/bin/openclaw && \
244- install -d -o node -g node /data /config /etc/caddy /tmp/caddy && \
245- chmod 755 /usr/local/bin/docker-entrypoint.sh /usr/bin/caddy /app/openclaw.mjs && \
246- chown -R node:node /data /config /etc/caddy /tmp/caddy
238+ chmod 755 /app/openclaw.mjs
247239
248- ENV CADDY_HTTPS_PORT=8443
249- ENV CADDY_SITE_ADDRESS=127.0.0.1
250240ENV NODE_ENV=production
251241
252242# Security hardening: Run as non-root user
@@ -269,6 +259,4 @@ USER node
269259HEALTHCHECK --interval=3m --timeout=10s --start-period=15s --retries=3 \
270260 CMD node -e "fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
271261
272- EXPOSE 8443
273- ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh" ]
274262CMD ["node" , "openclaw.mjs" , "gateway" , "--allow-unconfigured" ]
0 commit comments