forked from bangumi/server-private
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
39 lines (24 loc) · 790 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
FROM node:22.11.0-slim@sha256:f73e9c70d4279d5e7b7cc1fe307c5de18b61089ffa2235230408dfb14e2f09a0 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 base AS final
ENTRYPOINT ["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 . ./