mirror of
https://github.com/zkitter/groups.git
synced 2026-01-11 08:18:09 -05:00
* refactor: define separate routers. Update openapi spec (#38) * refactor: serve openapi.json on /api-docs * refactor: Define separate routers * Update openapi spec * fix Docker build (#39) - Type explicitly Router and Express app - Fix module resolution (module-alias)
38 lines
760 B
Docker
38 lines
760 B
Docker
FROM node:19-alpine as base
|
|
|
|
RUN apk update
|
|
RUN apk add bash
|
|
RUN npm i -g pnpm
|
|
|
|
WORKDIR app
|
|
|
|
COPY .npmrc package.json pnpm-lock.yaml ./
|
|
COPY package-scripts.yaml ./
|
|
COPY public ./public
|
|
|
|
FROM base as build
|
|
|
|
COPY prisma ./prisma
|
|
RUN pnpm install --frozen-lockfile --prod
|
|
RUN cp -R node_modules prod_node_modules
|
|
|
|
RUN pnpm i --frozen-lockfile
|
|
|
|
COPY src ./src
|
|
COPY .barrelsby.json tsconfig.json tsconfig.compile.json ./
|
|
RUN pnpm run nps barrels compile
|
|
|
|
FROM base as release
|
|
|
|
COPY --from=build /app/prod_node_modules ./node_modules
|
|
COPY --from=build /app/dist ./dist
|
|
|
|
EXPOSE 3000
|
|
|
|
COPY secrets-entrypoint.sh /usr/local/bin/secrets-entrypoint.sh
|
|
RUN chmod +x /usr/local/bin/secrets-entrypoint.sh
|
|
ENTRYPOINT ["secrets-entrypoint.sh"]
|
|
|
|
CMD ["pnpm", "run", "start"]
|
|
|