Skip to content

Commit 6d0b343

Browse files
authored
Merge pull request #14 from appwrite/deep-clean
Deep clean
2 parents b614f34 + 48305aa commit 6d0b343

File tree

1 file changed

+49
-4
lines changed

1 file changed

+49
-4
lines changed

Dockerfile

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@ RUN bun install --frozen-lockfile --production && \
1111
rm -rf ~/.bun/install/cache /tmp/*
1212

1313
# well-known OSS docker image
14-
FROM chromedp/headless-shell:143.0.7445.3 AS final
14+
FROM chromedp/headless-shell:143.0.7445.3 AS chromedp
1515

16-
# install fonts only
16+
ARG TARGETARCH
17+
18+
# install required packages
1719
RUN apt-get update && \
1820
apt-get install -y --no-install-recommends \
1921
tini \
@@ -24,10 +26,53 @@ RUN apt-get update && \
2426
apt-get clean && \
2527
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apt/archives/*
2628

27-
# copy bun from debian base above!
29+
# cleanup unnecessary files
30+
# based on target architecture
31+
RUN ARCH=$(case ${TARGETARCH} in \
32+
amd64) echo "x86_64-linux-gnu" ;; \
33+
arm64) echo "aarch64-linux-gnu" ;; \
34+
*) echo "aarch64-linux-gnu" ;; \
35+
esac) && \
36+
\
37+
rm -rf \
38+
/usr/lib/${ARCH}/gconv/* \
39+
/usr/lib/${ARCH}/security/* \
40+
/usr/share/zoneinfo/* \
41+
/usr/lib/apt/* \
42+
/usr/lib/${ARCH}/perl-base \
43+
/usr/share/perl5 \
44+
/usr/share/doc \
45+
/usr/share/bash-completion && \
46+
\
47+
rm -f \
48+
/usr/bin/apt* \
49+
/usr/bin/dpkg* \
50+
/usr/bin/bash \
51+
/usr/bin/perl* \
52+
/usr/bin/openssl \
53+
/usr/bin/sqv \
54+
/usr/bin/tini-static && \
55+
\
56+
rm -f \
57+
/usr/lib/${ARCH}/libapt-pkg.so.* \
58+
/usr/lib/${ARCH}/libapt-private.so.* \
59+
/usr/lib/${ARCH}/libcrypto.so.* \
60+
/usr/lib/${ARCH}/libssl.so.* \
61+
/usr/lib/${ARCH}/libdb-5.3.so
62+
63+
# cleanup swiftshader
64+
# NOTE: comment out if causes issues
65+
RUN rm -f \
66+
/headless-shell/libvk_swiftshader.so \
67+
/headless-shell/vk_swiftshader_icd.json \
68+
/headless-shell/run.sh
69+
70+
# squash layers
71+
FROM scratch AS final
72+
COPY --from=chromedp / /
2873
COPY --from=base /usr/local/bin/bun /usr/local/bin/bun
2974

30-
# Add chrome user
75+
# add chrome user
3176
RUN groupadd -r chrome && useradd -r -g chrome chrome
3277

3378
ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 \

0 commit comments

Comments
 (0)