From 5df4b65e5a0ee28246c714ad33e970584212c025 Mon Sep 17 00:00:00 2001 From: Darshan Date: Mon, 17 Nov 2025 11:34:36 +0530 Subject: [PATCH 1/2] update: add deep-clean. --- Dockerfile | 46 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6f1f518..381e5dd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,9 +11,9 @@ RUN bun install --frozen-lockfile --production && \ rm -rf ~/.bun/install/cache /tmp/* # well-known OSS docker image -FROM chromedp/headless-shell:143.0.7445.3 AS final +FROM chromedp/headless-shell:143.0.7445.3 AS chromedp -# install fonts only +# install required packages RUN apt-get update && \ apt-get install -y --no-install-recommends \ tini \ @@ -24,10 +24,48 @@ RUN apt-get update && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apt/archives/* -# copy bun from debian base above! +# cleanup unnecessary files +RUN rm -rf \ + /usr/lib/aarch64-linux-gnu/gconv/* \ + /usr/lib/aarch64-linux-gnu/security/* \ + /usr/share/zoneinfo/* \ + /usr/lib/apt/* \ + /usr/lib/aarch64-linux-gnu/perl-base \ + /usr/share/perl5 \ + /usr/share/doc \ + /usr/share/bash-completion + +# cleanup binaries +RUN rm -f \ + /usr/bin/apt* \ + /usr/bin/dpkg* \ + /usr/bin/bash \ + /usr/bin/perl* \ + /usr/bin/openssl \ + /usr/bin/sqv \ + /usr/bin/tini-static + +# cleanup libraries +RUN rm -f \ + /usr/lib/aarch64-linux-gnu/libapt-pkg.so.* \ + /usr/lib/aarch64-linux-gnu/libapt-private.so.* \ + /usr/lib/aarch64-linux-gnu/libcrypto.so.* \ + /usr/lib/aarch64-linux-gnu/libssl.so.* \ + /usr/lib/aarch64-linux-gnu/libdb-5.3.so + +# cleanup swiftshader +# NOTE: comment out if causes issues +RUN rm -f \ + /headless-shell/libvk_swiftshader.so \ + /headless-shell/vk_swiftshader_icd.json \ + /headless-shell/run.sh + +# squash layers +FROM scratch AS final +COPY --from=chromedp / / COPY --from=base /usr/local/bin/bun /usr/local/bin/bun -# Add chrome user +# add chrome user RUN groupadd -r chrome && useradd -r -g chrome chrome ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 \ From 48305aac7c49414c0025ba7be085c61a81602900 Mon Sep 17 00:00:00 2001 From: Darshan Date: Thu, 20 Nov 2025 18:09:11 +0530 Subject: [PATCH 2/2] cleanup: based on an arch. --- Dockerfile | 61 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/Dockerfile b/Dockerfile index 381e5dd..7f0d9c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,6 +13,8 @@ RUN bun install --frozen-lockfile --production && \ # well-known OSS docker image FROM chromedp/headless-shell:143.0.7445.3 AS chromedp +ARG TARGETARCH + # install required packages RUN apt-get update && \ apt-get install -y --no-install-recommends \ @@ -25,33 +27,38 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apt/archives/* # cleanup unnecessary files -RUN rm -rf \ - /usr/lib/aarch64-linux-gnu/gconv/* \ - /usr/lib/aarch64-linux-gnu/security/* \ - /usr/share/zoneinfo/* \ - /usr/lib/apt/* \ - /usr/lib/aarch64-linux-gnu/perl-base \ - /usr/share/perl5 \ - /usr/share/doc \ - /usr/share/bash-completion - -# cleanup binaries -RUN rm -f \ - /usr/bin/apt* \ - /usr/bin/dpkg* \ - /usr/bin/bash \ - /usr/bin/perl* \ - /usr/bin/openssl \ - /usr/bin/sqv \ - /usr/bin/tini-static - -# cleanup libraries -RUN rm -f \ - /usr/lib/aarch64-linux-gnu/libapt-pkg.so.* \ - /usr/lib/aarch64-linux-gnu/libapt-private.so.* \ - /usr/lib/aarch64-linux-gnu/libcrypto.so.* \ - /usr/lib/aarch64-linux-gnu/libssl.so.* \ - /usr/lib/aarch64-linux-gnu/libdb-5.3.so +# based on target architecture +RUN ARCH=$(case ${TARGETARCH} in \ + amd64) echo "x86_64-linux-gnu" ;; \ + arm64) echo "aarch64-linux-gnu" ;; \ + *) echo "aarch64-linux-gnu" ;; \ + esac) && \ + \ + rm -rf \ + /usr/lib/${ARCH}/gconv/* \ + /usr/lib/${ARCH}/security/* \ + /usr/share/zoneinfo/* \ + /usr/lib/apt/* \ + /usr/lib/${ARCH}/perl-base \ + /usr/share/perl5 \ + /usr/share/doc \ + /usr/share/bash-completion && \ + \ + rm -f \ + /usr/bin/apt* \ + /usr/bin/dpkg* \ + /usr/bin/bash \ + /usr/bin/perl* \ + /usr/bin/openssl \ + /usr/bin/sqv \ + /usr/bin/tini-static && \ + \ + rm -f \ + /usr/lib/${ARCH}/libapt-pkg.so.* \ + /usr/lib/${ARCH}/libapt-private.so.* \ + /usr/lib/${ARCH}/libcrypto.so.* \ + /usr/lib/${ARCH}/libssl.so.* \ + /usr/lib/${ARCH}/libdb-5.3.so # cleanup swiftshader # NOTE: comment out if causes issues