From 6454d83486f4c75d86c4ad35c032d0e252f11ece Mon Sep 17 00:00:00 2001 From: Andrew Bastin Date: Thu, 13 Jul 2023 11:48:15 +0530 Subject: [PATCH] chore: simplify prod docker build process --- .dockerignore | 2 +- prod.Dockerfile | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 prod.Dockerfile diff --git a/.dockerignore b/.dockerignore index c25925208..36d43b3e8 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1 @@ -*/**/node_modules +**/*/node_modules diff --git a/prod.Dockerfile b/prod.Dockerfile new file mode 100644 index 000000000..b33dd20fe --- /dev/null +++ b/prod.Dockerfile @@ -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