infra: add Dockerfile for running api in dev and prod

This commit is contained in:
isra el
2023-05-17 06:15:54 +03:00
parent 38f28586ae
commit 443f46e9e5
2 changed files with 27 additions and 0 deletions

4
api/.dockerignore Normal file
View File

@@ -0,0 +1,4 @@
/dist
/node_modules
/coverage
.env

23
api/Dockerfile Normal file
View File

@@ -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"]