diff --git a/Dockerfile b/Dockerfile index 45f08724..ab71f960 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,15 +2,16 @@ FROM node:22-alpine AS base # Install dependencies only when needed FROM base AS deps -RUN apk add --no-cache libc6-compat +RUN apk add --no-cache libc6-compat git WORKDIR /app COPY package.json pnpm-lock.yaml* ./ -RUN yarn global add pnpm && pnpm i --no-frozen-lockfile - +# Approve build scripts as needed for dependencies using pnpm +RUN yarn global add pnpm && pnpm approve-builds && pnpm i --no-frozen-lockfile # Rebuild the source code only when needed FROM base AS builder +RUN apk add --no-cache git WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . @@ -21,11 +22,10 @@ ARG NEXT_PUBLIC_OAUTH_REDIRECT_URL="https://orange.informatik.uni-stuttgart.de" ARG NEXT_PUBLIC_OAUTH_CLIENT_ID="frontend" ARG NEXT_PUBLIC_OAUTH_AUTHORITY="https://orange.informatik.uni-stuttgart.de/keycloak/realms/GITS" -RUN yarn global add pnpm@latest-8 \ +RUN yarn global add pnpm@latest-8 \ && mkdir -p ./__generated__ \ && rm -rf ./mockserver \ - && pnpm run build - + && pnpm run build # Production image, copy all the files and run next FROM base AS runner diff --git a/Dockerfile.k8s b/Dockerfile.k8s index ce733a81..dd5abca4 100644 --- a/Dockerfile.k8s +++ b/Dockerfile.k8s @@ -6,11 +6,12 @@ RUN apk add --no-cache libc6-compat WORKDIR /app COPY package.json pnpm-lock.yaml* ./ -RUN yarn global add pnpm && pnpm i --no-frozen-lockfile +RUN yarn global add pnpm && pnpm approve-builds && pnpm i --no-frozen-lockfile # Rebuild the source code only when needed FROM base AS builder +RUN apk add --no-cache git WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY . . @@ -22,10 +23,10 @@ ARG NEXT_PUBLIC_OAUTH_CLIENT_ID="frontend" ARG NEXT_PUBLIC_OAUTH_AUTHORITY="https://meitrex.de/keycloak/realms/GITS" ARG NEXT_PUBLIC_GITHUB_CLIENT_ID="Iv23li4YaE8QambyYkY8" -RUN yarn global add pnpm@latest-8 \ +RUN yarn global add pnpm@latest-8 \ && mkdir -p ./__generated__ \ && rm -rf ./mockserver \ - && pnpm run build + && pnpm run build # Production image, copy all the files and run next