28 lines
642 B
Docker
28 lines
642 B
Docker
# Builder
|
|
FROM docker.io/library/node:slim AS builder
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
curl \
|
|
git \
|
|
gnupg \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV PNPM_HOME="/pnpm"
|
|
ENV PATH="$PNPM_HOME:$PATH"
|
|
RUN corepack enable
|
|
WORKDIR /builder
|
|
|
|
COPY package.json /builder/package.json
|
|
COPY pnpm-lock.yaml /builder/pnpm-lock.yaml
|
|
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
|
|
|
|
COPY . /builder
|
|
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm run build
|
|
|
|
# Main
|
|
FROM docker.io/library/node:slim
|
|
|
|
WORKDIR /app
|
|
COPY --from=builder /builder/dist /app
|