diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6e42288 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,40 @@ + +FROM node:18-alpine AS base + +RUN npm i -g pnpm + +FROM base AS dependencies + +WORKDIR /app + +COPY package.json pnpm-lock.yaml ./ + +RUN pnpm install --frozen-lockfile + +FROM base AS build + +WORKDIR /app + +COPY . . + +COPY --from=dependencies /app/node_modules ./node_modules + +RUN pnpm build + +RUN pnpm prune --prod + +FROM base AS deploy + +WORKDIR /app + +COPY --from=build /app/build ./build +COPY --from=build /app/node_modules ./node_modules +COPY --from=build /app/package.json ./package.json + +ARG PORT=3000 + +ENV NODE_ENV=production PORT=$PORT + +EXPOSE $PORT + +CMD ["node", "build"] \ No newline at end of file