chore: simplify prod docker build process

This commit is contained in:
Andrew Bastin
2023-07-13 11:48:15 +05:30
parent 191fa376d2
commit 6454d83486
2 changed files with 35 additions and 1 deletions

34
prod.Dockerfile Normal file
View File

@@ -0,0 +1,34 @@
FROM node:18 as base_builder
WORKDIR /usr/src/app
COPY . .
RUN npm install -g pnpm
RUN pnpm install --force
FROM base_builder as backend
WORKDIR /usr/src/app/packages/hoppscotch-backend
RUN pnpm exec prisma generate
RUN pnpm run build
CMD ["pnpm", "run", "start:prod"]
EXPOSE 3170
FROM base_builder as fe_builder
WORKDIR /usr/src/app/packages/hoppscotch-selfhost-web
RUN pnpm run generate
FROM caddy:2-alpine as frontend
WORKDIR /site
COPY --from=fe_builder /usr/src/app/packages/hoppscotch-selfhost-web/Caddyfile /etc/caddy/Caddyfile
COPY --from=fe_builder /usr/src/app/packages/hoppscotch-selfhost-web/dist/ .
EXPOSE 8080
FROM base_builder as sh_admin_builder
WORKDIR /usr/src/app/packages/hoppscotch-sh-admin
RUN pnpm run build
FROM caddy:2-alpine as sh_admin
WORKDIR /site
COPY --from=sh_admin_builder /usr/src/app/packages/hoppscotch-sh-admin/Caddyfile /etc/caddy/Caddyfile
COPY --from=sh_admin_builder /usr/src/app/packages/hoppscotch-sh-admin/dist/ .
EXPOSE 8080