Switched dockerfile to more reasonable building + pnpm + cache

This commit is contained in:
Nicolai Ort 2023-03-29 20:24:14 +02:00
parent 6d607570af
commit 8e86f2db31
Signed by: niggl
GPG Key ID: 13AFA55AF62F269F

View File

@ -1,16 +1,20 @@
# Typescript Build
FROM registry.odit.services/hub/library/node:19.0.1-alpine3.16
FROM registry.odit.services/hub/library/node:19.0.1-alpine3.16 as build
ARG NPM_REGISTRY_URL=https://registry.npmjs.org
WORKDIR /app
COPY package.json ./
RUN npm i -g pnpm
RUN pnpm i
RUN npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@8
RUN mkdir /pnpm && pnpm config set store-dir /pnpm && pnpm i
COPY tsconfig.json ./
COPY src ./src
RUN pnpm run build
RUN pnpm run build \
&& rm -rf /app/node_modules \
&& pnpm i --production --prefer-offline
# final image
FROM registry.odit.services/hub/library/node:19.0.1-alpine3.16
COPY package.json ./
RUN npm i -g pnpm
RUN pnpm i --prod
COPY --from=0 /app/dist dist
COPY --from=build /app/dist dist
COPY --from=build /app/node_modules /app/node_modules
ENTRYPOINT ["node", "dist/app.js"]