Some checks failed
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
36 lines
1.1 KiB
Docker
36 lines
1.1 KiB
Docker
ARG NODE_VERSION=24.13.1
|
|
|
|
FROM dhi.io/node:${NODE_VERSION}-alpine3.22-dev
|
|
|
|
ARG NODE_VERSION
|
|
|
|
# Install all dependencies in a single layer to minimize image size
|
|
RUN apk add --no-cache busybox-binsh && \
|
|
# Install fonts
|
|
apk --no-cache add --virtual .build-deps-fonts msttcorefonts-installer fontconfig && \
|
|
update-ms-fonts && \
|
|
fc-cache -f && \
|
|
apk del .build-deps-fonts && \
|
|
find /usr/share/fonts/truetype/msttcorefonts/ -type l -exec unlink {} \; && \
|
|
# Install OS dependencies
|
|
apk update && \
|
|
apk upgrade --no-cache && \
|
|
apk add --no-cache \
|
|
git \
|
|
openssh \
|
|
openssl \
|
|
graphicsmagick=1.3.45-r0 `# pinned to avoid ghostscript-fonts (AGPL)` \
|
|
tini \
|
|
tzdata \
|
|
ca-certificates \
|
|
libc6-compat && \
|
|
# Cleanup
|
|
rm -rf /tmp/* /root/.npm /root/.cache/node /opt/yarn* && \
|
|
apk del apk-tools
|
|
|
|
WORKDIR /home/node
|
|
# DHI images use a non-standard global npm path, so we need to set NODE_PATH
|
|
# to allow externally installed npm packages to be found by require()
|
|
ENV NODE_PATH=/opt/nodejs/node-v${NODE_VERSION}/lib/node_modules
|
|
EXPOSE 5678/tcp
|