mirror of
https://github.com/LowderPlay/cheburcheck.git
synced 2026-08-27 09:51:59 +00:00
* feat: change to ssr * fix: move route to nginx * fix: rename yaml * ci: add deploy * fix: real ip
43 lines
891 B
Docker
43 lines
891 B
Docker
# syntax=docker/dockerfile:1.10
|
|
|
|
FROM docker.io/node:24-bookworm-slim AS build
|
|
|
|
WORKDIR /app
|
|
|
|
ENV PNPM_HOME=/pnpm
|
|
ENV PATH="${PNPM_HOME}:${PATH}"
|
|
|
|
RUN corepack enable && \
|
|
corepack prepare pnpm@10.33.0 --activate && \
|
|
pnpm config set store-dir /pnpm/store
|
|
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
|
|
RUN --mount=type=cache,id=pnpm-store,target=/pnpm/store \
|
|
pnpm fetch --frozen-lockfile
|
|
|
|
COPY . ./
|
|
|
|
RUN --mount=type=cache,id=pnpm-store,target=/pnpm/store \
|
|
set -eux; \
|
|
pnpm install --frozen-lockfile --offline; \
|
|
pnpm build; \
|
|
pnpm prune --prod
|
|
|
|
FROM docker.io/node:24-bookworm-slim
|
|
|
|
WORKDIR /app
|
|
|
|
ENV HOST=0.0.0.0
|
|
ENV PORT=3000
|
|
ENV NODE_ENV=production
|
|
|
|
COPY --from=build /app/build ./build
|
|
COPY --from=build /app/node_modules ./node_modules
|
|
COPY --from=build /app/package.json ./package.json
|
|
|
|
EXPOSE 3000
|
|
|
|
USER node
|
|
|
|
CMD ["node", "build/index.js"]
|