penpot/docker/images/Dockerfile.mcp
penpot-renovate[bot] ecd0eb2c26
⬆️ Update DHI base images (#12762)
- dhi.io/nginx 1.31.8-debian13-dev@f8c15ec (docker/images/Dockerfile.frontend)
- dhi.io/node 24.22.2-debian13-dev@3083ddf (docker/images/Dockerfile.media-processor)
- dhi.io/node 24.22.2-debian13@ce582f8 (docker/images/Dockerfile.mcp)
- dhi.io/node 24.22.2-debian13-dev@3083ddf (docker/images/Dockerfile.mcp)
- dhi.io/node 24.22.2-debian13-dev@3083ddf (docker/images/Dockerfile.exporter)

Signed-off-by: penpot-renovate[bot] <338182062+penpot-renovate[bot]@users.noreply.github.com>
2026-11-02 10:57:24 +01:00

58 lines
1.9 KiB
Docker

FROM dhi.io/node:24.22.2-debian13-dev@sha256:3083ddf2287edc010579950602f4e07659b08b23efa74ee1de7582931dbe31cf 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.16.1
RUN set -eux; \
apt-get -qq update; \
apt-get -qqy --no-install-recommends install curl ca-certificates gzip; \
rm -rf /var/lib/apt/lists/*; \
ARCH="$(dpkg --print-architecture)"; \
case "${ARCH}" in \
aarch64|arm64) \
PNPM_ARCH='arm64'; \
PNPM_SHA256='f5847699e5d528f8f8e9bcfb385e58cb9fba7482af1b1aa7b70737be42277f81'; \
;; \
amd64|x86_64) \
PNPM_ARCH='x64'; \
PNPM_SHA256='565ff81174a14f6f7bd5d84c1b17e51031a80230d370a1fe24be5d16bd02a825'; \
;; \
*) \
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.22.2-debian13@sha256:ce582f85254ceba6c572a854b8fb4008ced2f5d365c929f4f580360829037184 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"]