mirror of
https://git.myvelabs.com/novnc/archlinux.git
synced 2025-12-17 21:26:20 +00:00
89 lines
No EOL
2.7 KiB
Bash
89 lines
No EOL
2.7 KiB
Bash
## Dockerfile
|
|
cat >Dockerfile <<- 'Dockerfile'
|
|
# syntax = docker/dockerfile:1.2
|
|
FROM myvnc/base:i3
|
|
USER root
|
|
|
|
# # ENV variables
|
|
# ENV MYVNC_FIREFOX_URL # optional
|
|
# ENV MYVNC_FIREFOX_OPTS # eg, --kiosk
|
|
|
|
# Install packages
|
|
RUN --mount=type=cache,sharing=locked,target=/var/cache/pacman \
|
|
pacman -Syu --ask 4 --needed \
|
|
firefox firefox-decentraleyes firefox-ublock-origin \
|
|
&& pacman -Scc --ask 4
|
|
|
|
# Tigervnc
|
|
COPY 20-firefox.sh /app/init.d/
|
|
RUN chmod +x /app/init.d/*
|
|
|
|
# Reset user home directory
|
|
USER user
|
|
WORKDIR /home/user
|
|
Dockerfile
|
|
|
|
## Firefox setup
|
|
cat >20-firefox.sh <<- 'entrypoint'
|
|
#!/usr/bin/env bash
|
|
# Create firefox profile directory
|
|
mkdir -p /app/firefox
|
|
|
|
# Firefox custom user.js
|
|
cat >/app/firefox/user.js <<- 'firefox'
|
|
// First run
|
|
user_pref("app.normandy.first_run", false);
|
|
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
|
|
user_pref("trailhead.firstrun.didSeeAboutWelcome", true);
|
|
user_pref("browser.startup.homepage_override.mstone", "ignore");
|
|
|
|
// Homepage
|
|
// user_pref("browser.startup.page", 1);
|
|
// user_pref("browser.startup.homepage", "https://myvelabs.app/");
|
|
|
|
// Security/privacy section
|
|
user_pref("app.shield.optoutstudies.enabled", false);
|
|
user_pref("browser.contentblocking.category", "standard");
|
|
user_pref("datareporting.healthreport.uploadEnabled", false);
|
|
user_pref("extensions.pocket.enabled", false);
|
|
user_pref("dom.private-attribution.submission.enabled", false);
|
|
user_pref("network.trr.mode", 5);
|
|
|
|
// Disable sponsored content on Firefox Home (Activity Stream)
|
|
user_pref("browser.newtabpage.activity-stream.showSearch", false);
|
|
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
|
|
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|
|
user_pref("browser.newtabpage.activity-stream.default.sites", "");
|
|
user_pref("browser.newtabpage.activity-stream.topSitesRows", 4);
|
|
|
|
// Disable about:config warning
|
|
user_pref("browser.aboutConfig.showWarning", false);
|
|
|
|
// Disable url autocomplete
|
|
user_pref("browser.search.suggest.enabled", false);
|
|
user_pref("browser.urlbar.suggest.recentsearches", false);
|
|
user_pref("browser.urlbar.suggest.searches", false);
|
|
|
|
// Closing firefox properties
|
|
user_pref("browser.warnOnQuitShortcut", false);
|
|
user_pref("browser.tabs.closeWindowWithLastTab", false);
|
|
|
|
// Disable autohide toolbar on fullscreen
|
|
user_pref("browser.fullscreen.autohide", false);
|
|
firefox
|
|
|
|
# i3/firefox startup
|
|
install /dev/stdin ~/.config/i3/startapp.sh <<- startup
|
|
#!/usr/bin/env bash
|
|
# Run firefox
|
|
while true
|
|
do
|
|
/usr/bin/firefox --profile /app/firefox ${MYVNC_FIREFOX_OPTS} --new-window ${MYVNC_FIREFOX_URL}
|
|
done
|
|
startup
|
|
entrypoint
|
|
|
|
## Docker build
|
|
DOCKER_BUILDKIT=1 docker build ./. \
|
|
--tag myvnc/firefox \
|
|
&& rm -f Dockerfile *.sh |