From d60200205aa41f10930c932e247fb46e7547ccf6 Mon Sep 17 00:00:00 2001 From: daniel31x13 Date: Wed, 13 Nov 2024 09:23:22 -0500 Subject: [PATCH] update Dockerfile --- Dockerfile | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0c848b6..d999194 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,16 @@ -FROM node:18.18-bullseye-slim +# Stage: monolith-builder +# Purpose: Uses the Rust image to build monolith +# Notes: +# - Fine to leave extra here, as only the resulting binary is copied out +FROM docker.io/rust:1.80-bullseye AS monolith-builder + +RUN set -eux && cargo install --locked monolith + +# Stage: main-app +# Purpose: Compiles the frontend and +# Notes: +# - Nothing extra should be left here. All commands should cleanup +FROM node:18.18-bullseye-slim AS main-app ARG DEBIAN_FRONTEND=noninteractive @@ -8,30 +20,18 @@ WORKDIR /data COPY ./package.json ./yarn.lock ./playwright.config.ts ./ -RUN --mount=type=cache,sharing=locked,target=/usr/local/share/.cache/yarn yarn install --network-timeout 10000000 +RUN --mount=type=cache,sharing=locked,target=/usr/local/share/.cache/yarn \ + set -eux && \ + yarn install --network-timeout 10000000 -RUN apt-get update +# Copy the compiled monolith binary from the builder stage +COPY --from=monolith-builder /usr/local/cargo/bin/monolith /usr/local/bin/monolith -RUN apt-get install -y \ - build-essential \ - curl \ - libssl-dev \ - pkg-config - -RUN apt-get update - -RUN curl https://sh.rustup.rs -sSf | bash -s -- -y - -ENV PATH="/root/.cargo/bin:${PATH}" - -RUN cargo install monolith - -RUN npx playwright install-deps && \ +RUN set -eux && \ + npx playwright install --with-deps chromium && \ apt-get clean && \ yarn cache clean -RUN yarn playwright install - COPY . . RUN yarn prisma generate && \ @@ -39,4 +39,4 @@ RUN yarn prisma generate && \ EXPOSE 3000 -CMD yarn prisma migrate deploy && yarn start \ No newline at end of file +CMD yarn prisma migrate deploy && yarn start