• v2_418405
  • 540.7KB
  • zip
  • 0
  • VIP专享
  • 0
  • 2022-06-03 22:34
# Headless Ubuntu/Xfce container with VNC/noVNC and configurable Firefox ## accetto/ubuntu-vnc-xfce-firefox-plus [Docker Hub][this-docker] - [Git Hub][this-github] - [Changelog][this-changelog] - [Wiki][this-wiki] *** ![badge-docker-pulls][badge-docker-pulls] ![badge-docker-stars][badge-docker-stars] ![badge-github-release][badge-github-release] ![badge-github-release-date][badge-github-release-date] ![badge-github-stars][badge-github-stars] ![badge-github-forks][badge-github-forks] ![badge-github-open-issues][badge-github-open-issues] ![badge-github-closed-issues][badge-github-closed-issues] ![badge-github-releases][badge-github-releases] ![badge-github-commits][badge-github-commits] ![badge-github-last-commit][badge-github-last-commit] **Tip** If you want newer images based on [Ubuntu 20.04 LTS][docker-ubuntu] with the latest [TigerVNC][tigervnc-releases]/[noVNC][novnc-releases] versions, please check the **third generation** (G3) [accetto/ubuntu-vnc-xfce-g3][accetto-docker-ubuntu-vnc-xfce-g3], [accetto/ubuntu-vnc-xfce-chromium-g3][accetto-docker-ubuntu-vnc-xfce-chromium-g3] or [accetto/ubuntu-vnc-xfce-firefox-g3][accetto-docker-ubuntu-vnc-xfce-firefox-g3]. **Tip** Unless you need [nss_wrapper][nsswrapper], you can also use my newer image [accetto/xubuntu-vnc-novnc-firefox][accetto-docker-xubuntu-vnc-novnc-firefox], which is a streamlined version of this image ([image hierarchy][accetto-xubuntu-vnc-novnc-wiki-image-hierarchy]). If you also don't need [noVNC][novnc], you can use even a slimmer image [accetto/xubuntu-vnc-firefox][accetto-docker-xubuntu-vnc-firefox], which is a member of another growing family of application images ([image hierarchy][accetto-xubuntu-vnc-wiki-image-hierarchy]). The newer images include also **sudo** command. *** **WARNING** about images with Firefox Starting from the release **20.10.1**, there is no single-process Firefox image and the multi-process mode is always enabled. Be aware, that multi-process requires larger shared memory (`/dev/shm`). At least 256MB is recommended. Please check the [Firefox multi-process][that-wiki-firefox-multiprocess] page in Wiki for more information and the instructions, how to set the shared memory size in different scenarios. *** **Attention:** Resources for building images with default Firefox installation without configuration support can be found in its own GitHub repository [ubuntu-vnc-xfce-firefox][accetto-github-ubuntu-vnc-xfce-firefox]. Resources for building base images are in the GitHub repository [accetto/ubuntu-vnc-xfce][accetto-github-ubuntu-vnc-xfce]. **This repository** contains resources for building a Docker image based on [Ubuntu][docker-ubuntu] with [Xfce][xfce] desktop environment, **VNC**/[noVNC][novnc] servers for headless use and the current [Firefox][firefox] web browser with pre-configuration support. The image can be successfully built and used on Linux, Windows, Mac and NAS devices. It has been tested with [Docker Desktop][docker-desktop] on [Ubuntu flavours][ubuntu-flavours], [Windows 10][docker-for-windows] and [Container Station][container-station] from [QNAP][qnap]. Containers created from this image make perfect light-weight web browsers. They can be thrown away easily and replaced quickly, improving browsing privacy. They run under a non-root user by default, improving browsing security. They make also excellent long-term browsers, because the preferences and profiles can be pre-configured and stored on volumes that survive container destruction. There are two ways of customization. Firstly, it's possible to force Firefox preferences by modifying the provided **user.js** file. Secondly, it's possible to use a complete Firefox profile, previously created on a volume. The [HOWTO][this-wiki-howto] page in [Wiki][this-wiki] describes it in more details. Frequently used preferences and profiles can be also embedded into new customized images, built by the user. The ready-to-use Dockerfiles are already provided (see [below](#user-content-image-set)). The [HOWTO][this-wiki-howto] page in [Wiki][this-wiki] describes how to build such images. Running in background is the primary scenario for the containers, but using them interactively in foreground is also possible. For examples see the description below or the [HOWTO][this-wiki-howto] section in [Wiki][this-wiki]. The image is based on the [accetto/ubuntu-vnc-xfce][accetto-docker-ubuntu-vnc-xfce] image, just adding the [Firefox][firefox] browser and the resources for its customization. The image inherits the following components from its [base image][accetto-docker-ubuntu-vnc-xfce]: - utilities **ping**, **wget**, **zip**, **unzip**, **sudo**, [curl][curl], [git][git] (Ubuntu distribution) - current version of JSON processor [jq][jq] - light-weight [Xfce][xfce] desktop environment (Ubuntu distribution) - current version of high-performance [TigerVNC][tigervnc] server and client - current version of [noVNC][novnc] HTML5 clients (full and lite) (TCP port **6901**) - popular text editors [vim][vim] and [nano][nano] (Ubuntu distribution) - lite but advanced graphical editor [mousepad][mousepad] (Ubuntu distribution) - support of **version sticker** (see below) **Please note** that **Firefox 67** has changed default profile handling and therefore the pre-created folder `profile0.default`, which contains the file `user.js` with user preferences, will not be used automatically, until you explicitly choose the folder before the first Firefox start. The other option is to copy the user preferences afterwards using the provided script. You can find more information about it in the [issue #3][this-issue-3]. The following desktop launchers have been added for your convenience: - **FF Profile Manager** starts the Firefox with the argument **-P** so you can choose Firefox profiles or create new ones conveniently. It is recommended to choose the pre-created profile folder `profile0.default` before the first Firefox start. Note that it shows up as the **default** profile in the Profile Manager's list and that the actual profile data will be created by the Firefox itself. - **Copy FF Preferences** starts the script for copying the file **user.js**, containing your own Firefox preferences, to one or more Firefox profiles interactively. You can use it if you haven't chosen the profile before the first Firefox start or you have created new ones later. Running containers in background is the primary scenario this image has been developed for. However, running in foreground can be useful in many cases. See the description below for examples of using the containers both ways. The image is regularly maintained and rebuilt. The history of notable changes is documented in [CHANGELOG][this-changelog]. ![screenshot-container][screenshot-container] ### Image set - [accetto/ubuntu-vnc-xfce-firefox-plus][this-docker] - `latest` based on `accetto/ubuntu-vnc-xfce:latest` ![badge-VERSION_STICKER_LATEST][badge-VERSION_STICKER_LATEST] ![badge-github-commit-latest][badge-github-commit-latest] - **accetto/ubuntu-vnc-xfce-firefox-plus-preferences** This image is not actually contained in the [Docker repository][accetto-docker], because it is intended to keep pre-configured user-specific **Firefox preferences**. Users can put their favorite preferences into the configuration files and build the image using the provided [Dockerfile-plus-preferences][this-dockerfile-plus-preferences]. The [HOWTO][this-wiki-howto] page in [Wiki][this-wiki] describes it in more details. - **accetto/ubuntu-vnc-xfce-firefox-plus-profile** This image is also not actually contained in the [Docker repository][accetto-docker], because it is intended to keep pre-configured user-specific **Firefox profiles**. Users can prepare a full Firefox profile and build the image using the provided [Dockerfile-plus-profile][this-dockerfile-plus-profile]. The [HOWTO][this-wiki-howto] page in [Wiki][this-wiki] describes it in more details.