Skip to content

Commit 925ff57

Browse files
committed
build(docker): Update Dockerfile to use pnpm for dependency management
1 parent fc0a344 commit 925ff57

File tree

3 files changed

+37
-37
lines changed

3 files changed

+37
-37
lines changed

Dockerfile

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
1-
FROM node:20-alpine AS development-dependencies-env
1+
FROM node:20-alpine AS dependencies-env
2+
RUN npm i -g pnpm
23
COPY . /app
4+
5+
FROM dependencies-env AS development-dependencies-env
6+
COPY ./package.json pnpm-lock.yaml /app/
37
WORKDIR /app
4-
RUN npm ci
8+
RUN pnpm i --frozen-lockfile
59

6-
FROM node:20-alpine AS production-dependencies-env
7-
COPY ./package.json package-lock.json /app/
10+
FROM dependencies-env AS production-dependencies-env
11+
COPY ./package.json pnpm-lock.yaml /app/
812
WORKDIR /app
9-
RUN npm ci --omit=dev
13+
RUN pnpm i --prod --frozen-lockfile
1014

11-
FROM node:20-alpine AS build-env
12-
COPY . /app/
15+
FROM dependencies-env AS build-env
16+
COPY ./package.json pnpm-lock.yaml /app/
1317
COPY --from=development-dependencies-env /app/node_modules /app/node_modules
1418
WORKDIR /app
15-
RUN npm run build
19+
RUN pnpm build
1620

17-
FROM node:20-alpine
18-
COPY ./package.json package-lock.json /app/
21+
FROM dependencies-env
22+
COPY ./package.json pnpm-lock.yaml /app/
1923
COPY --from=production-dependencies-env /app/node_modules /app/node_modules
2024
COPY --from=build-env /app/build /app/build
2125
WORKDIR /app
22-
CMD ["npm", "run", "start"]
26+
CMD ["pnpm", "start"]

Dockerfile.npm

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FROM node:20-alpine AS development-dependencies-env
2+
COPY . /app
3+
WORKDIR /app
4+
RUN npm ci
5+
6+
FROM node:20-alpine AS production-dependencies-env
7+
COPY ./package.json package-lock.json /app/
8+
WORKDIR /app
9+
RUN npm ci --omit=dev
10+
11+
FROM node:20-alpine AS build-env
12+
COPY . /app/
13+
COPY --from=development-dependencies-env /app/node_modules /app/node_modules
14+
WORKDIR /app
15+
RUN npm run build
16+
17+
FROM node:20-alpine
18+
COPY ./package.json package-lock.json /app/
19+
COPY --from=production-dependencies-env /app/node_modules /app/node_modules
20+
COPY --from=build-env /app/build /app/build
21+
WORKDIR /app
22+
CMD ["npm", "run", "start"]

Dockerfile.pnpm

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)