# Copyright 2025 Zentrum für Digitale Souveränität der Öffentlichen Verwaltung (ZenDiS) GmbH. # SPDX-License-Identifier: MIT FROM node:22.12.0@sha256:35a5dd72bcac4bce43266408b58a02be6ff0b6098ffa6f5435aeea980a8951d7 as builder LABEL maintainer="Sebastian Kawelke <sebatian.kawelke@l3montree.com" # checkov:skip=CKV_DOCKER_2 # Disable telemetry ENV NEXT_TELEMETRY_DISABLED 1 ENV NODE_ENV production WORKDIR /usr/app/ ENV PORT 3000 EXPOSE 3000 ENV NEXT_PUBLIC_ENVIRONMENT production COPY package-lock.json . COPY package.json . RUN npm ci COPY . . ENV NEXT_SHARP_PATH=/usr/app/node_modules/sharp # Build RUN npm run build RUN mkdir -p /usr/app/.next/cache/images && chown -R 53111:53111 /usr/app/.next/cache/images FROM gcr.io/distroless/nodejs22-debian12:nonroot@sha256:0ae346e809704467179aee46047b46e3dfac399baa98617a58ad1ed53dd689a1 USER 53111 WORKDIR /usr/app/ ENV PORT 3000 ENV NODE_ENV production ENV NEXT_TELEMETRY_DISABLED 1 COPY --from=builder --chown=53111:53111 /usr/app/.next /usr/app/.next COPY --from=builder /usr/app/node_modules /usr/app/node_modules COPY --from=builder /usr/app/package.json /usr/app/package.json COPY --from=builder --chown=53111:53111 /usr/app/public /usr/app/public CMD [ "./node_modules/next/dist/bin/next", "start" ]