Changed to sh instead of bash
This commit is contained in:
+32
-13
@@ -1,29 +1,48 @@
|
|||||||
ARG N8N_VERSION=2.1.1
|
ARG N8N_VERSION=2.1.1
|
||||||
|
|
||||||
# ---- builder stage ----
|
# ------------------------------------------------
|
||||||
FROM node:20-alpine AS builder
|
# 1) busybox-static (sh, sed, mkdir, etc.)
|
||||||
|
# ------------------------------------------------
|
||||||
|
FROM alpine:3.23 AS busybox-builder
|
||||||
|
RUN apk add --no-cache busybox-static
|
||||||
|
|
||||||
RUN apk add --no-cache jq bash
|
# ------------------------------------------------
|
||||||
|
# 2) jq + su-exec
|
||||||
|
# ------------------------------------------------
|
||||||
|
FROM alpine:3.23 AS tools-builder
|
||||||
|
RUN apk add --no-cache jq su-exec
|
||||||
|
|
||||||
|
# ------------------------------------------------
|
||||||
|
# 3) claude-code
|
||||||
|
# ------------------------------------------------
|
||||||
|
FROM node:20-alpine AS node-builder
|
||||||
RUN npm install -g @anthropic-ai/claude-code
|
RUN npm install -g @anthropic-ai/claude-code
|
||||||
|
|
||||||
# ---- final stage ----
|
# ------------------------------------------------
|
||||||
|
# 4) Final image (n8n distroless)
|
||||||
|
# ------------------------------------------------
|
||||||
FROM docker.n8n.io/n8nio/n8n:${N8N_VERSION}
|
FROM docker.n8n.io/n8nio/n8n:${N8N_VERSION}
|
||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
# jq + bash
|
# ---- busybox (static) ----
|
||||||
COPY --from=builder /usr/bin/jq /usr/bin/jq
|
COPY --from=busybox-builder /bin/busybox /bin/busybox
|
||||||
COPY --from=builder /bin/bash /bin/bash
|
RUN ["/bin/busybox", "--install", "/bin"]
|
||||||
|
|
||||||
# global npm packages
|
# ---- jq + su-exec ----
|
||||||
COPY --from=builder /usr/local/lib/node_modules /usr/local/lib/node_modules
|
COPY --from=tools-builder /usr/bin/jq /usr/bin/jq
|
||||||
COPY --from=builder /usr/local/bin/claude /usr/local/bin/claude
|
COPY --from=tools-builder /sbin/su-exec /sbin/su-exec
|
||||||
|
|
||||||
# make sure PATH sees /usr/local/bin
|
# ---- claude-code ----
|
||||||
ENV PATH="/usr/local/bin:${PATH}"
|
COPY --from=node-builder /usr/local/lib/node_modules /usr/local/lib/node_modules
|
||||||
|
COPY --from=node-builder /usr/local/bin/claude /usr/local/bin/claude
|
||||||
|
|
||||||
|
ENV PATH="/usr/local/bin:/bin:/sbin:${PATH}"
|
||||||
|
|
||||||
|
# ---- entrypoint ----
|
||||||
WORKDIR /data
|
WORKDIR /data
|
||||||
COPY docker-entrypoint.sh /tmp/docker-entrypoint.sh
|
COPY docker-entrypoint.sh /tmp/docker-entrypoint.sh
|
||||||
|
RUN chmod +x /tmp/docker-entrypoint.sh
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/bash", "/tmp/docker-entrypoint.sh"]
|
ENTRYPOINT ["/bin/sh", "/tmp/docker-entrypoint.sh"]
|
||||||
EXPOSE 5678
|
EXPOSE 5678
|
||||||
Reference in New Issue
Block a user