forked from bangumi/server-private
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
45 lines (29 loc) · 941 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
42
43
44
45
FROM node:22.13.1-slim@sha256:83fdfa2a4de32d7f8d79829ea259bd6a4821f8b2d123204ac467fbe3966450fc AS base
WORKDIR /app
# build dist/index.mjs
FROM base AS builder
COPY package.json pnpm-lock.yaml ./
COPY patches ./patches/
RUN npm i -g corepack &&\
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 npm i -g corepack &&\
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"]
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 . ./