diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..752acdd --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +node_modules +generated +dist diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a0f2ad0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM node:18-alpine3.17 as build + +WORKDIR /app + +COPY package.json yarn.lock ./ +RUN yarn install + + +COPY src ./src +COPY api ./api +COPY env ./env +COPY tsconfig.json ./tsconfig.json +COPY tsconfig.prod.json ./tsconfig.prod.json + +RUN yarn run build + +FROM node:16-alpine3.15 as app + +USER node +WORKDIR /app + +COPY --from=build /app/node_modules /app/node_modules +COPY --from=build /app/env /app/dist/env +COPY --from=build /app/package.json /app/package.json +COPY --from=build /app/dist /app/dist + +ENTRYPOINT node dist/src/server.js