Files
PreMiD/Dockerfile
2024-08-01 10:29:00 +02:00

36 lines
756 B
Docker

FROM gplane/pnpm:node20-alpine AS base
RUN corepack enable
ARG SERVICE
FROM base AS build
WORKDIR /app
COPY . /app
RUN pnpm i --frozen-lockfile
RUN if [ "$SERVICE" != "website" ]; then pnpm run -r codegen; fi
RUN if [ "$SERVICE" != "website" ]; then pnpm run build; fi
RUN if [ "$SERVICE" == "website" ]; then pnpm --filter @premid/website run build; fi
RUN if [ "$SERVICE" != "website" ]; then pnpm --filter @premid/${SERVICE} deploy --prod /prod/${SERVICE}; fi
FROM node:20-alpine AS prod
ARG SERVICE
WORKDIR /app
COPY --from=build /prod/${SERVICE} ./
ENV PORT=80
EXPOSE 80
CMD ["npm", "start"]
FROM node:20-alpine AS website
WORKDIR /app
ENV PORT=80
COPY --from=build /app/apps/website/.output /app
EXPOSE 80
CMD ["node", "server/index.mjs"]