Files
midou36o.github.io/Dockerfile
T

37 lines
853 B
Docker
Executable File

FROM node:24-alpine AS dependencies
WORKDIR /app
RUN corepack enable
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./
#COPY pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile --ignore-scripts
FROM dependencies AS build
COPY . .
RUN pnpm build
FROM node:24-alpine AS production-dependencies
WORKDIR /app
RUN corepack enable
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./
RUN pnpm install --prod --frozen-lockfile --ignore-scripts
FROM node:24-alpine AS runtime
WORKDIR /app
ENV NODE_ENV=production
ENV HOST=0.0.0.0
ENV PORT=3000
COPY --from=build --chown=node:node /app/build ./build
COPY --from=production-dependencies --chown=node:node /app/node_modules ./node_modules
COPY --from=production-dependencies --chown=node:node /app/package.json ./package.json
USER node
EXPOSE 3000
CMD ["node", "build/index.js"]