diff --git a/api/.dockerignore b/api/.dockerignore new file mode 100644 index 0000000..092a52b --- /dev/null +++ b/api/.dockerignore @@ -0,0 +1,4 @@ +/dist +/node_modules +/coverage +.env \ No newline at end of file diff --git a/api/Dockerfile b/api/Dockerfile new file mode 100644 index 0000000..0cb9adb --- /dev/null +++ b/api/Dockerfile @@ -0,0 +1,23 @@ +FROM node:18-alpine AS base +RUN npm i -g pnpm +WORKDIR /app +COPY package.json pnpm-lock.yaml ./ +RUN pnpm i +COPY . . + +FROM base AS dev +ENV NODE_ENV=development +ENTRYPOINT ["pnpm", "start:dev"] + +FROM base AS build +ENV NODE_ENV=production +RUN pnpm build + +FROM node:18-alpine AS prod +ENV NODE_ENV=production +WORKDIR /app +RUN npm i -g pnpm +COPY --from=build /app/dist ./dist +COPY --from=build /app/package.json /app/pnpm-lock.yaml ./ +RUN pnpm i --prod +ENTRYPOINT ["pnpm", "start"] \ No newline at end of file