diff --git a/Dockerfile b/Dockerfile index 042b5b5..75968c4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,30 @@ -FROM node:18-alpine +FROM node:20-alpine + +RUN npm install -g pnpm WORKDIR /app -COPY --chown=node:node ./server ./server -COPY --chown=node:node ./package.json ./package.json +COPY --chown=node:node ./package.json ./pnpm-lock.yaml /app/ +COPY --chown=node:node ./client/package.json ./client/pnpm-lock.yaml /client/ -RUN npm install +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 -USER node +ENV NODE_ENV=production +USER node EXPOSE 5287 -CMD ["node", "server"] \ No newline at end of file +CMD ["node", "server/index.js"] \ No newline at end of file