diff --git a/dockerfile/Dockerfile b/dockerfile/Dockerfile new file mode 100644 index 0000000..fcc499c --- /dev/null +++ b/dockerfile/Dockerfile @@ -0,0 +1,28 @@ +# syntax=docker/dockerfile:1 +ARG NODE_VERSION=20 + +FROM node:${NODE_VERSION}-slim AS build +WORKDIR /app + +COPY package*.json ./ +RUN npm ci + +COPY tsconfig.json tsconfig.build.json ./ +COPY src ./src +RUN npm run build + +FROM node:${NODE_VERSION}-slim AS runtime +WORKDIR /app + +ENV NODE_ENV=production +ENV PORT=3011 + +COPY package*.json ./ +RUN npm ci --omit=dev + +COPY --from=build /app/dist ./dist +#COPY --from=build /app/src/openapi ./dist/openapi + +EXPOSE 3001 + +CMD ["node", "dist/index.js"] \ No newline at end of file diff --git a/tsconfig.build.json b/tsconfig.build.json new file mode 100644 index 0000000..49a23bc --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "exclude": ["node_modules", "dist", "**/*.test.ts"] +}