From 6fa2b1da3d0da0fa63b8283d832a0e5b360d122f Mon Sep 17 00:00:00 2001 From: Catalin Constantin Mititiuc Date: Wed, 4 Jun 2025 18:49:01 -0700 Subject: [PATCH] Initial commit --- Dockerfile | 36 ++++++++++++++++++++++++++++++++++++ README.md | 30 ++++++++++++++++++++++++++++++ entrypoint.sh | 7 +++++++ local.conf | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 107 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md create mode 100755 entrypoint.sh create mode 100644 local.conf diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b984e02 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +FROM debian:bookworm-slim + +RUN apt-get update && apt-get install -y wget gnupg \ + && wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- \ + | tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null \ + && gpg -n -q --no-options --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc \ + | awk '/pub/{getline; gsub(/^ +| +$/,""); if($0 == "35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3") print "\nThe key fingerprint matches ("$0").\n"; else print "\nVerification failed: the fingerprint ("$0") does not match the expected one.\n"}' \ + && echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" \ + | tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null \ + && echo 'Package: *\nPin: origin packages.mozilla.org\nPin-Priority: 1000\n' \ + | tee /etc/apt/preferences.d/mozilla \ + && apt-get update && apt-get install -y \ + apulse \ + ca-certificates \ + ffmpeg \ + firefox \ + hicolor-icon-theme \ + libasound2 \ + libgl1-mesa-dri \ + libgl1-mesa-glx \ + libpulse0 \ + fonts-noto \ + fonts-noto-cjk \ + fonts-noto-color-emoji \ + --no-install-recommends \ + && rm -rf /var/lib/apt/lists/* + +ENV LANG=C.UTF-8 + +COPY local.conf /etc/fonts/local.conf + +RUN echo 'pref("browser.tabs.remote.autostart", false);' >> /usr/lib/firefox/defaults/pref/package-prefs.js + +COPY entrypoint.sh /usr/bin/startfirefox + +ENTRYPOINT [ "startfirefox" ] diff --git a/README.md b/README.md new file mode 100644 index 0000000..e06b676 --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +## Requirements + +- [Docker Engine](https://docs.docker.com/engine/) (Docker Desktop is not required!) +- [x11docker](https://github.com/mviereck/x11docker) + +## Build browser image + + $ docker build -t firefox . + +## X server image + +To use the `--xc` option, we need either to pull the out-dated image, + + $ docker pull x11docker/xserver + +or, to build a newer image locally (preferred). + + $ x11docker --build x11docker/xserver + +## Run + + $ ./x11docker -I --xc --share $HOME/Downloads -- --tmpfs /dev/shm -- firefox + +## References + +- based on [Jessie Frazelle's](https://x.com/jessfraz) [`dockerfiles/firefox`][1] +- sourced from Mozilla's '[Install Firefox .deb package for Debian-based distributions][2]' + +[1]: https://github.com/jessfraz/dockerfiles/tree/cc75d30bd79d7b2fe4e2f0f37cdc880979c9eefb/firefox +[2]: https://support.mozilla.org/en-US/kb/install-firefox-linux#w_install-firefox-deb-package-for-debian-based-distributions-recommended diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..df262e6 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +if [[ -e /dev/snd ]]; then + exec apulse firefox "$@" +else + exec firefox "$@" +fi diff --git a/local.conf b/local.conf new file mode 100644 index 0000000..f6a5f5c --- /dev/null +++ b/local.conf @@ -0,0 +1,34 @@ + + + + + +rgb + + + + +true + + + + +hintslight + + + + +true + + + + +lcddefault + + + + +false + + +