mirror of
https://github.com/penpot/penpot.git
synced 2026-09-24 04:46:14 +00:00
dhi.io/node:24.20.0-debian13-dev does not pre-create /usr/local/bin the way a regular Debian image does, so tar -xzf ... -C /usr/local/bin failed with "Cannot open: No such file or directory" right after the checksum check passed. Introduced in #11790 when pnpm moved from Corepack to a downloaded standalone binary. Dockerfile.media-processor and docker/devenv/Dockerfile are unaffected: both extract into /opt/node/bin, which already exists from the prior Node.js install step. Signed-off-by: David Barragán Merino <david.barragan@kaleidos.net>
58 lines
1.7 KiB
Docker
58 lines
1.7 KiB
Docker
FROM dhi.io/node:24.20.0-debian13-dev AS build
|
|
LABEL maintainer="Penpot <docker@penpot.app>"
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
ARG BUNDLE_PATH="./bundle-mcp/"
|
|
COPY $BUNDLE_PATH /opt/penpot/mcp/
|
|
|
|
WORKDIR /opt/penpot/mcp
|
|
|
|
# pnpm ships as a system binary (same tarball + SHA pin as
|
|
# docker/devenv/Dockerfile); ./setup expects it on PATH.
|
|
# Corepack is gone from Node 25+, so nothing here may use it.
|
|
ARG PNPM_VERSION=12.5.1
|
|
RUN set -eux; \
|
|
apt-get -qq update; \
|
|
apt-get -qqy --no-install-recommends install curl ca-certificates; \
|
|
rm -rf /var/lib/apt/lists/*; \
|
|
ARCH="$(dpkg --print-architecture)"; \
|
|
case "${ARCH}" in \
|
|
aarch64|arm64) \
|
|
PNPM_ARCH='arm64'; \
|
|
PNPM_SHA256='84e1290e82c800acd406b6db27e9650e15db3c2344d12162cc305ea1f942c6ff'; \
|
|
;; \
|
|
amd64|x86_64) \
|
|
PNPM_ARCH='x64'; \
|
|
PNPM_SHA256='5a397dfb6b3d4b07d3d7769586aeb471048faf04299a492e2808b95a9a1c701f'; \
|
|
;; \
|
|
*) \
|
|
echo "Unsupported arch: ${ARCH}"; \
|
|
exit 1; \
|
|
;; \
|
|
esac; \
|
|
curl -LfsSo /tmp/pnpm.tar.gz "https://github.com/pnpm/pnpm/releases/download/v${PNPM_VERSION}/pnpm-linux-${PNPM_ARCH}.tar.gz"; \
|
|
echo "${PNPM_SHA256} */tmp/pnpm.tar.gz" | sha256sum -c -; \
|
|
mkdir -p /usr/local/bin; \
|
|
tar -xzf /tmp/pnpm.tar.gz -C /usr/local/bin pnpm; \
|
|
chmod 755 /usr/local/bin/pnpm; \
|
|
rm -f /tmp/pnpm.tar.gz; \
|
|
pnpm --version;
|
|
|
|
RUN ./setup
|
|
|
|
|
|
FROM dhi.io/node:24.18.1-debian13 AS image
|
|
LABEL maintainer="Penpot <docker@penpot.app>"
|
|
|
|
ENV LANG=en_US.UTF-8 \
|
|
LC_ALL=en_US.UTF-8 \
|
|
PENPOT_MCP_SERVER_HOST=0.0.0.0
|
|
|
|
COPY --from=build --chown=node:node /opt/penpot/mcp /opt/penpot/mcp
|
|
|
|
WORKDIR /opt/penpot/mcp
|
|
USER node
|
|
|
|
CMD ["node", "index.js", "--multi-user"]
|