Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# pinned by digest.

# Stage 1: Install all dependencies (including dev deps) for the build.
FROM node:24-alpine@sha256:d1b3b4da11eefd5941e7f0b9cf17783fc99d9c6fc34884a665f40a06dbdfc94f AS deps
FROM node:24-alpine@sha256:ebfe2f90462722a7a4de65e91990e97fe0d401c70e0e762c5b53302f905ec1c1 AS deps
WORKDIR /app
COPY package.json package-lock.json turbo.json ./
COPY packages/shared/package.json packages/shared/
Expand All @@ -34,7 +34,7 @@ RUN npx turbo build --filter=manifest-backend --filter=manifest-frontend --filte
# optionalDependencies; without it, npm hoists @esbuild/linux-x64 (a Go
# binary) into node_modules even though `--omit=dev` strips its parent,
# and CVE scanners then flag the embedded Go stdlib.
FROM node:24-slim@sha256:24dc26ef1e3c3690f27ebc4136c9c186c3133b25563ae4d7f0692e4d1fe5db0e AS prod-deps
FROM node:24-slim@sha256:d6aa754f16b3197301076f047b5def2f02ea1dbbc2ca920407d46d7ec7f87b20 AS prod-deps
WORKDIR /app
RUN mkdir -p /app/request-recordings
COPY package.json package-lock.json ./
Expand All @@ -61,7 +61,7 @@ RUN --mount=type=cache,target=/root/.npm \

# Stage 4: Distroless runtime. Runs as the built-in `nonroot` user (UID
# 65532) by default. No shell, no apk/apt, minimal CVE surface.
FROM gcr.io/distroless/nodejs24-debian13:nonroot@sha256:bb6b03d81066993293a10feda7250e8e1cc034035fe9b61cfceededa7c8bf04d AS runtime
FROM gcr.io/distroless/nodejs24-debian13:nonroot@sha256:9eeb7f5887d0e239e78264b06f7f11d2e14be534050481803a9e4728fcdd278e AS runtime
WORKDIR /app

LABEL org.opencontainers.image.title="Manifest" \
Expand Down
Loading