From f967b8c0c61605fe8e79b82a6d0e37d27506bb14 Mon Sep 17 00:00:00 2001 From: Jade Ellis Date: Sun, 25 Aug 2024 04:32:21 +0100 Subject: [PATCH] Use layers more effectively, add OT dep --- packages/website/Dockerfile | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/website/Dockerfile b/packages/website/Dockerfile index 6ec67409..8f562bd1 100644 --- a/packages/website/Dockerfile +++ b/packages/website/Dockerfile @@ -9,20 +9,23 @@ WORKDIR /app # FROM base AS prod-deps # RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile -FROM base AS build +FROM base AS deps ENV CI=1 RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile -RUN mkdir ../node_modules -RUN cp -Lr node_modules/.pnpm/@resvg+resvg-*@*/node_modules/* ../node_modules/ -RUN cp -Lr node_modules/.pnpm/@sentry+sveltekit@*/node_modules/* ../node_modules/ -RUN cp -Lr node_modules/.pnpm/@opentelemetry+instrumentation-http@*/node_modules/* ../node_modules/ -RUN cp -Lr node_modules/.pnpm/@opentelemetry+instrumentation@*/node_modules/* ../node_modules/ # RUN cd packages/website; --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile - +FROM deps as build RUN cd packages/website; pnpm run build RUN cd packages/website; pnpm exec rollup -c server-rollup.config.mjs # copy node_modules/ and other build files over +FROM deps as deploy-deps + +RUN mkdir ../node_modules +RUN cp -Lr node_modules/.pnpm/@resvg+resvg-*@*/node_modules/* ../node_modules/ +RUN cp -Lr node_modules/.pnpm/@sentry+sveltekit@*/node_modules/* ../node_modules/ +RUN cp -Lr node_modules/.pnpm/@opentelemetry+instrumentation-http@*/node_modules/* ../node_modules/ +RUN cp -Lr node_modules/.pnpm/@opentelemetry+instrumentation-http@*/node_modules/* ../node_modules/ +RUN cp -Lr node_modules/.pnpm/@opentelemetry+api-logs@*/node_modules/* ../node_modules/ FROM node:alpine WORKDIR /app @@ -31,7 +34,7 @@ COPY --from=build /app/packages/website/output . COPY --from=build /app/packages/website/build/client ./client/ COPY --from=build /app/packages/website/build/prerendered ./prerendered/ COPY --from=build /app/packages/website/package.json ./package.json -COPY --from=build /node_modules ./node_modules/ +COPY --from=deploy-deps /node_modules ./node_modules/ ENV NODE_ENV production EXPOSE 3000