From 27eb2d65d4378fbf7e726a2ddca3227f5213a2a1 Mon Sep 17 00:00:00 2001 From: Ted Liang Date: Sat, 3 Jan 2026 11:31:56 +1100 Subject: [PATCH] feat: upgrade alpine and support chromium path (#2353) Upgrade alpine to 3.22 Support chromium executable path --- docker/Dockerfile | 2 +- packages/lib/server-only/htmltopdf/get-audit-logs-pdf.ts | 4 +++- packages/lib/server-only/htmltopdf/get-certificate-pdf.ts | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index c8864e40a..47304ba8d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,7 +1,7 @@ ########################### # BASE CONTAINER # ########################### -FROM node:22-alpine3.20 AS base +FROM node:22-alpine3.22 AS base RUN apk add --no-cache openssl RUN apk add --no-cache font-freefont diff --git a/packages/lib/server-only/htmltopdf/get-audit-logs-pdf.ts b/packages/lib/server-only/htmltopdf/get-audit-logs-pdf.ts index d77d334f8..b5ef967ff 100644 --- a/packages/lib/server-only/htmltopdf/get-audit-logs-pdf.ts +++ b/packages/lib/server-only/htmltopdf/get-audit-logs-pdf.ts @@ -33,7 +33,9 @@ export const getAuditLogsPdf = async ({ documentId, language }: GetAuditLogsPdfO // !: Previously we would have to keep the playwright version in sync with the browserless version to avoid errors. browser = await chromium.connectOverCDP(browserlessUrl); } else { - browser = await chromium.launch(); + browser = await chromium.launch({ + executablePath: env('PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH') || undefined, + }); } if (!browser) { diff --git a/packages/lib/server-only/htmltopdf/get-certificate-pdf.ts b/packages/lib/server-only/htmltopdf/get-certificate-pdf.ts index 0fa07538f..fdc186deb 100644 --- a/packages/lib/server-only/htmltopdf/get-certificate-pdf.ts +++ b/packages/lib/server-only/htmltopdf/get-certificate-pdf.ts @@ -33,7 +33,9 @@ export const getCertificatePdf = async ({ documentId, language }: GetCertificate // !: Previously we would have to keep the playwright version in sync with the browserless version to avoid errors. browser = await chromium.connectOverCDP(browserlessUrl); } else { - browser = await chromium.launch(); + browser = await chromium.launch({ + executablePath: env('PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH') || undefined, + }); } if (!browser) {