From 6933232cbb105f7e9ea9a479b38497b9e876b935 Mon Sep 17 00:00:00 2001 From: Six <23470032+6ixfalls@users.noreply.github.com> Date: Tue, 16 Jan 2024 18:29:04 -0800 Subject: [PATCH] feat: Client Dockerfile --- .github/workflows/docker-publish.yml | 5 ++++- apps/client/Dockerfile | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 apps/client/Dockerfile diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 4f96e93e..b5a26108 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -20,7 +20,7 @@ jobs: id-token: write strategy: matrix: - image: ["ghcr.io/${{ github.repository }}", "ghcr.io/${{ github.repository }}-worker"] + image: ["ghcr.io/${{ github.repository }}", "ghcr.io/${{ github.repository }}-worker", "ghcr.io/${{ github.repository }}-client"] include: - image: "ghcr.io/${{ github.repository }}" dockerfile: "./apps/server/Dockerfile" @@ -28,6 +28,9 @@ jobs: - image: "ghcr.io/${{ github.repository }}-worker" dockerfile: "./apps/workers/Dockerfile" nx: "workers:build" + - image: "ghcr.io/${{ github.repository }}-client" + dockerfile: "./apps/workers/Dockerfile" + nx: "client:build" steps: - name: Checkout repository uses: actions/checkout@v3 diff --git a/apps/client/Dockerfile b/apps/client/Dockerfile new file mode 100644 index 00000000..8eea3a45 --- /dev/null +++ b/apps/client/Dockerfile @@ -0,0 +1,23 @@ +# ------------------------------------------ +# BUILD STAGE +# ------------------------------------------ +# Full Node image must be used for node_modules install +# TODO - Upgrade to v18.x (LTS) when this issue is resolved - https://github.com/prisma/prisma/issues/10649#issuecomment-1249209025 +FROM node:16.18.1 as builder + +WORKDIR /app +COPY ./dist/apps/client ./yarn.lock ./prisma ./ +RUN yarn install --production + +# ------------------------------------------ +# PROD STAGE +# ------------------------------------------ +FROM node:16.18.1-slim as prod + +# Used for container health checks +RUN apt-get update && apt-get install curl -y +WORKDIR /app +USER node +COPY --from=builder /app . + +CMD ["yarn", "run", "start"] \ No newline at end of file