-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathDockerfile
41 lines (25 loc) · 910 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
FROM node:22.13.1-slim@sha256:d6d1b3a6f21a25e43d765816281b4a86e5f1ebf843cfae1b14dd0f1c28257cc7 AS base
WORKDIR /app
# build dist/index.mjs
FROM base AS builder
COPY package.json pnpm-lock.yaml ./
COPY patches ./patches/
RUN corepack enable && corepack prepare --activate \
&& pnpm install --frozen-lockfile
COPY . ./
RUN pnpm run build
FROM base AS prod-deps
COPY package.json pnpm-lock.yaml ./
COPY patches ./patches/
RUN corepack enable && corepack prepare --activate \
&& npm pkg delete scripts.prepare \
&& pnpm install --prod --frozen-lockfile
FROM gcr.io/distroless/nodejs22-debian12@sha256:e36aabe0394465699ebdb68544f6f3b618a654af85f6fa1b55e8fc4e567b3250
WORKDIR /app
ENTRYPOINT ["/nodejs/bin/node", "--enable-source-maps", "./dist/index.mjs"]
ENV NODE_ENV=production
COPY --from=prod-deps /app/ /app/
ARG ARG_REF
ENV REF=$ARG_REF
COPY --from=builder /app/dist /app/dist
COPY . ./