Liedkampf/Dockerfile

30 lines
550 B
Docker

FROM node:20-alpine
RUN npm install -g pnpm
WORKDIR /app
COPY --chown=node:node ./package.json ./pnpm-lock.yaml /app/
COPY --chown=node:node ./client/package.json ./client/pnpm-lock.yaml /client/
WORKDIR /client
RUN NODE_ENV=development pnpm install
COPY --chown=node:node ./server /app
COPY --chown=node:node ./client /client
RUN pnpm run build
RUN cp -r /client/dist /app/dist
WORKDIR /app
RUN pnpm install --production --frozen-lockfile
RUN chown -R node:node /app
ENV NODE_ENV=production
USER node
EXPOSE 5237
CMD ["node", "index.js"]