diff --git a/.docker/firefox/Dockerfile.nvidia b/.docker/firefox/Dockerfile.nvidia new file mode 100644 index 0000000..0bdc70b --- /dev/null +++ b/.docker/firefox/Dockerfile.nvidia @@ -0,0 +1,35 @@ +ARG BASE_IMAGE=m1k1o/neko:base +FROM $BASE_IMAGE + +ARG SRC_URL="https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US" + +# +# install firefox +RUN set -eux; apt-get update; \ + apt-get install -y --no-install-recommends openbox \ + xz-utils bzip2 libgtk-3-0 libdbus-glib-1-2; \ + # + # fetch latest release + wget -O /tmp/firefox-setup.tar.bz2 "${SRC_URL}"; \ + mkdir /usr/lib/firefox; \ + tar -xjf /tmp/firefox-setup.tar.bz2 -C /usr/lib; \ + rm -f /tmp/firefox-setup.tar.bz2; \ + ln -s /usr/lib/firefox/firefox /usr/bin/firefox; \ + # + # create a profile directory + mkdir -p /home/neko/.mozilla/firefox/profile.default/extensions; \ + chown -R neko:neko /home/neko/.mozilla/firefox/profile.default; \ + # + # clean up + apt-get --purge autoremove -y xz-utils bzip2; \ + apt-get clean -y; \ + rm -rf /var/lib/apt/lists/* /var/cache/apt/* + +# +# copy configuation files +COPY supervisord.nvidia.conf /etc/neko/supervisord/firefox.conf +COPY neko.js /usr/lib/firefox/mozilla.cfg +COPY autoconfig.js /usr/lib/firefox/defaults/pref/autoconfig.js +COPY policies.json /usr/lib/firefox/distribution/policies.json +COPY --chown=neko profiles.ini /home/neko/.mozilla/firefox/profiles.ini +COPY openbox.xml /etc/neko/openbox.xml diff --git a/.docker/firefox/supervisord.nvidia.conf b/.docker/firefox/supervisord.nvidia.conf new file mode 100644 index 0000000..7b0d30b --- /dev/null +++ b/.docker/firefox/supervisord.nvidia.conf @@ -0,0 +1,28 @@ +[program:firefox] +environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s" +command=/bin/entrypoint.sh /usr/bin/firefox + --no-remote + -P default + --display=%(ENV_DISPLAY)s + -setDefaultBrowser + -width 1280 + -height 720 +stopsignal=INT +autorestart=true +priority=800 +user=%(ENV_USER)s +stdout_logfile=/var/log/neko/firefox.log +stdout_logfile_maxbytes=100MB +stdout_logfile_backups=10 +redirect_stderr=true + +[program:openbox] +environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s" +command=/usr/bin/openbox --config-file /etc/neko/openbox.xml +autorestart=true +priority=300 +user=%(ENV_USER)s +stdout_logfile=/var/log/neko/openbox.log +stdout_logfile_maxbytes=100MB +stdout_logfile_backups=10 +redirect_stderr=true diff --git a/.github/workflows/ghcr-nvidia.yml b/.github/workflows/ghcr-nvidia.yml index 3006e78..dda8f60 100644 --- a/.github/workflows/ghcr-nvidia.yml +++ b/.github/workflows/ghcr-nvidia.yml @@ -69,6 +69,8 @@ jobs: # Will build all images even if some fail. matrix: include: + - tag: firefox + dockerfile: Dockerfile.nvidia - tag: brave dockerfile: Dockerfile.nvidia - tag: chromium