User Guide - Docker Hub - Git Hub - Wiki - Discussions
Main changes:
- hook scripts
env.rc
,push
andpost_push
have been updated - handling of multiple deployment tags per image has been improved and it covers also publishing into the builder repository now
- also less image pollution by publishing
- file
readme-local-building-example.md
got a new sectionTips and examples
, containingHow to deploy all images into one repository
- fix in
ci-builder.sh
help mode - readme files updated
- container screenshots replaced by animations
This release brings updated and significantly shortened README files, because most of the content has been moved into the new User guide.
This release brings some enhancements in the Dockerfiles and the script user_generator.rc
with the aim to better support extending the images.
This release introduces a new feature FEATURES_OVERRIDING_ENVV
, which controls the overriding or adding of environment variables at the container startup-time.
Meaning, after the container has already been created.
The feature is enabled by default.
It can be disabled by setting the variable FEATURES_OVERRIDING_ENVV
to zero when the container is created or the image is built.
Be aware that any other value than zero, even if unset or empty, enables the feature.
If FEATURES_OVERRIDING_ENVV=1
, then the container startup script will look for the file $HOME/.override/.override_envv.rc
and source all the lines that begin with the string 'export ' at the first position and contain the '=' character.
The overriding file can be provided from outside the container using bind mounts or volumes.
The lines that have been actually sourced can be reported into the container's log if the startup parameter --verbose
or --debug
is provided.
This feature is an enhanced implementation of the previously available functionality known as Overriding VNC/noVNC parameters at the container startup-time.
Therefore this is a breaking change for the users that already use the VNC/noVNC overriding.
They need to move the content from the previous file $HOME"/.vnc_override.rc
into the new file $HOME/.override/.override_envv.rc
.
This release mitigates the problems with the edge use case, when users bind the whole $HOME
directory to an external folder on the host computer.
Please note that I recommend to avoid doing that. If you really want to, then your best bet is using the Docker volumes. That is the only option I've found, which works across the environments. In the discussion thread #39 I've described the way, how to initialize a bound $HOME
folder, if you really want to give it a try.
Main changes:
- file
.initial_sudo_password
has been moved from the$HOME
to the$STARTUPDIR
folder - file
.initial_sudo_password
is not deleted, but cleared after the container user is created - startup scripts have been adjusted and improved
- readme files have been updated
This is a maintenance release aiming to improve the scripts and documentation.
- updated with
TigerVNC 1.13.1
bugfix release - also some updates in readme files
Features NOVNC
and FIREFOX_PLUS
, that are enabled by default, can be disabled via environment variables:
- If
FEATURES_NOVNC="0"
, then- image will not include
noVNC
- image tag will get the
-vnc
suffix (e.g.latest-vnc
,20.04-firefox-vnc
etc.)
- image will not include
- If
FEATURES_FIREFOX_PLUS="0"
andFEATURES_FIREFOX="1"
, then- image with Firefox will not include the Firefox Plus features
- image tag will get the
-default
suffix (e.g.latest-firefox-default
or alsolatest-firefox-default-vnc
etc.)
This is the first G3v4
release, introducing the updated startup scripts. The previous version G3v3
will still be available in this repository as the branch archived-generation-g3v3
.
- The updated startup scripts that support overriding the user ID (
id
) and group ID (gid
) without needing the former build argumentARG_FEATURES_USER_GROUP_OVERRIDE
, which has been removed. - The user ID and the group ID can be overridden during the build time (
docker build
) and the run time (docker run
). - The
user name
, thegroup name
and theinitial sudo password
can be overridden during the build time. - The permissions of the files
/etc/passwd
and/etc/groups
are set to the standard644
after creating the user. - The content of the home folder and the startup folder belongs to the created user.
- The created user gets permissions to use
sudo
. The initialsudo
password is configurable during the build time using the build argumentARG_SUDO_INITIAL_PW
. The password can be changed inside the container. - The default
id:gid
has been changed from1001:0
to1000:1000
.
Changes in build arguments:
- removed
ARG_FEATURES_USER_GROUP_OVERRIDE
andARG_HOME_OWNER
- renamed
ARG_SUDO_PW
toARG_SUDO_INITIAL_PW
- added
ARG_HEADLESS_USER_ID
,ARG_HEADLESS_USER_NAME
,ARG_HEADLESS_USER_GROUP_ID
andARG_HEADLESS_USER_GROUP_NAME
Changes in environment variables:
- removed
FEATURES_USER_GROUP_OVERRIDE
- added
HEADLESS_USER_ID
,HEADLESS_USER_NAME
,HEADLESS_USER_GROUP_ID
andHEADLESS_USER_GROUP_NAME
Main changes in files:
- updated
Dockerfile.xfce.22-04
andDockerfile.xfce.20-04
- updated
startup.sh
,user_generator.rc
andset_user_permissions.sh
- updated hook scripts
env.rc
,build
,pre_build
andutil.rc
- updated
ci-builder.sh
- added
tests/test-01.sh
allows to quickly check the current permissions
Updated versions:
- TigerVNC to version
1.13.0
- noVNC to version
1.4.0
This is the first G3v3
release, introducing the images based on Ubuntu 22.04 LTS
. The previous version G3v2
will still be available in this repository as the branch archived-generation-g3v2
.
Changes in deployment:
- default base of the
latest
images is nowUbuntu 22.04 LTS
- there is no
snap
included Firefox
is the latest non-snap version from the Mozilla Team PPAChromium
is the latest version from theUbuntu 18.04 LTS
distributionlatest
images will be doubled by the tags with the prefix22.04
- there is no
- images based on
Ubuntu 20.04 LTS
will still be published- their tags will begin with the prefix
20.04
- their tags will begin with the prefix
- image
accetto/ubuntu-vnc-xfce-g3:latest-fugo
will not be published any more (it can still be built manually) - image
accetto/ubuntu-vnc-xfce-firefox-g3:latest-plus
, containing the Firefox Plus Features, becomes thelatest
image now- previous
latest
image without the Firefox Plus Features will not be published any more (it can still be built manually)
- previous
Support of additional building parameters:
- script
builder.sh
passes the additional building parameters, that come after the mandatory ones, to the hook scripts - script
hooks/build
can use the--target <stage>
parameter for building particular Dockerfile stages - script hooks/pre_build removes the
--target <stage>
parameter and always processes all Dockerfile stages - see
readme-local-building-example.md
for more information
Other changes and improvements:
Dockerfiles.xfce
renamed toDockerfiles.xfce.20-04
and improvedDockerfiles.xfce.22-04
added- script
hooks/env.rc
updatednoVNC
is always included in all images- Firefox plus features always included in Firefox images
- scripts
builder.sh
andci-builder.sh
have been updated - most readme files have been updated
-
Updated components:
- websockify to version 0.11.0
This is a maintenance release.
- README files have been updated
- Folder
examples/
has been moved up to the project's root folder- New example
Dockerfile.extended
shows how to use the images as the base of new images - New compose file
example.yml
shows how to switch to another non-root user and how to set the VNC password and resolution
- New example
This is a quick fix release, because Chromium Browser
has changed its package naming pattern.
This is a milestone release. It's the first release of the new building pipeline version G3v2
. The previous version G3v1
will still be available in this repository as the branch archived-generation-g3v1
.
The version G3v2
brings the following major changes:
- Significantly improved building performance by introducing a local cache (
g3-cache
). - Auto-building on the Docker Hub and using of the GitHub Actions have been abandoned.
- The enhanced building pipeline moves towards building the images outside the Docker Hub and aims to support also stages with CI/CD capabilities (e.g. GitLab).
- The local stage is the default building stage. The new building pipeline has already been tested also with a local GitLab installation in a Docker container on a Linux machine.
- Automatic publishing of README files to the Docker Hub has been removed, because it hasn't work properly any more. However, the README files can be still prepared with the provided utility and then copy-and-pasted to the Docker Hub manually.
Added files:
docker/hooks/cache
ci-builder.sh
readme-builder.md
readme-ci-builder.md
readme-g3-cache.md
readme-local-building-example.md
utils/readme-util-readme-examples.md
Removed files:
local-builder-readme.md
local-building-example.md
utils/example-secrets-utils.rc
utils/examples-util-readme.md
.github/workflows/dockerhub-autobuild.yml
.github/workflows/dockerhub-post-push.yml
.github/workflows/deploy-readme.sh
Many other files have been updated, some of them significantly.
Hoverer, the changes affect only the building pipeline, not the Docker images themselves. The Dockerfile
, apart from using the new local g3-cache
, stays conceptually unchanged.
This is the last release of the current building pipeline generation G3v1
, which will still be available in the repository as the branch archived-generation-g3v1
.
The next milestone release will bring some significant changes and improvements in the building pipeline (generation G3v2
) . The changing parts marked as DEPRECATED
will be replaced or removed.
This is just a maintenance release.
- Warnings about the README publishing not always working problem have been added.
- Some comments have been updated.
-
noVNC improvements
-
noVNC got a new optional argument, which is passed through a new environment variable NOVNC_HEARTBEAT
- set the variable by creating the container, like
docker run -e NOVNC_HEARTBEAT=30
for the ping interval 30 seconds - it should prevent disconnections because of inactivity, if the container is used behind load-balancers or reverse proxies (issue #23)
- set the variable by creating the container, like
-
script
vnc_startup.rc
has been adjusted and improved -
script
version_of.sh
has been adjusted -
numpy module has been added to make the HyBi protocol faster
-
following variables related to noVNC has been renamed in all related files
ARG_NO_VNC_PORT
renamed toARG_NOVNC_PORT
NO_VNC_HOME
renamed toNOVNC_HOME
NO_VNC_PORT
renamed toNOVNC_PORT
-
-
Updated components:
- TigerVNC to version 1.12.0
- noVNC to version 1.3.0
- websockify to version 0.10.0
-
Added components:
- python3 (also added into the
verbose version sticker
) - systemctl
- python3 (also added into the
-
Updated files:
Dockerfile.xfce
(components updated and added)vnc_startup.rc
(new noVNC startup)version_of.sh
(python3 included)version_sticker.sh
(python3 included)env.rc
(handling of tags)util-readme.sh
(fixed token parsing)- all readme files
-
Added files:
local-builder-readme.md
-
Changes in building and publishing policy:
- The images without noVNC will not be published on Docker Hub any more, because the size difference is now only 2MB. However, they always can be built locally.
- The images tagged
latest
will always implement VNC and noVNC. - The Firefox image
latest
will not include the Firefox plus features now. They will be available in the Firefox imagelatest-plus
.
Dockerfile.xfce
uses TigerVNC releases from SourceForge website
builder.sh
utility accepts additional parameters- local building example updated
builder.sh
utility added- see also
local-building-example.md
- see also
- Docker Hub has removed auto-builds from free plans since 2021-07-26, therefore
- both GitHub Actions workflows
dockerhub-autobuild.yml
anddockerhub-post-push.yml
have been disabled because they are not needed on free plans any more- just re-enable them if you are on a higher plan
- if you stay on the free plan, then
- you can still build the images locally and then push them to Docker Hub
- pushing to Docker Hub is optional
- just follow the added file
local-building-example.md
- you can publish the
readme
files to Docker Hub using the utilityutil-readme.sh
- just follow the added file
examples-util-readme.md
- just follow the added file
- you can still build the images locally and then push them to Docker Hub
- regularity of updates of images on Docker Hub cannot be guaranteed any more
- both GitHub Actions workflows
- Other
Xfce4
related changes since the last release- keyboard layout explicit config added
xfce4-terminal
set to unicodeutf-8
explicitly
- fix in script
release_of.sh
- because
wget
is not available on Docker Hub
- because
- all images moved to
docker/doc/images
- Dockerfile stages diagram added
- script
release_of.sh
improved
- fix in
env.rc
hook script
- package dconf-editor has been removed
- TigerVNC from Release Mirror on accetto/tigervnc because Bintray is closing on 2021-05-01
- hook script
post_push
has been improved- environment variable
PROHIBIT_README_PUBLISHING
can be used to prevent the publishing of readme file to Docker Hub deployment repositories - useful for testing on Docker Hub or by building from non-default branches
- environment variable
-
Chromium and Firefox web browsers are image features now
- they are controlled by the following variables in the hook script
env.rc
:FEATURES_CHROMIUM
,FEATURES_FIREFOX
andFEATURES_FIREFOX_PLUS
- Dockerfiles
Dockerfile.xfce
,Dockerfile.xfce.chromium
,Dockerfile.xfce.firefox
have been merged into the fileDockerfile.xfce
- they are controlled by the following variables in the hook script
-
Both the application user name and the sudo password can be set independently from the VNC password now (in build-time)
- build argument
ARG_HEADLESS_USER_NAME
sets the application user name and also the home directory name - build argument
ARG_SUDO_PW
sets the default application user's password, which is also the defaultsudo
password
- build argument
-
Container startup scripts have been updated
- startup scripts have been moved into
docker/src/xfce-startup
- script
set_user_permissions.sh
has been improved- file permissions are not set to
777
any more - different permissions are assigned in images built with the feature
FEATURES_USER_GROUP_OVERRIDE
(fugo
tags)
- file permissions are not set to
- script
user_generator.rc
has been improved- supports renaming the application user (build argument
ARG_HEADLESS_USER_NAME
)
- supports renaming the application user (build argument
- script
vnc_startup.rc
has been improved- supports overriding VNC/noVNC parameters in run-time
- all
version_sticker.sh
scripts have been merged into the filedocker/src/xfce-startup/version_sticker.sh
- startup scripts have been moved into
-
VNC/noVNC parameters, ports, password and DISPLAY can be overridden three ways now
- at image build-time by setting the environment variables through build arguments:
ARG_VNC_PW
sets the variableVNC_PW
(VNV/noVNC password)ARG_VNC_DISPLAY
sets the variableDISPLAY
ARG_VNC_PORT
sets the variableVNC_PORT
ARG_VNC_RESOLUTION
sets the variableVNC_RESOLUTION
ARG_VNC_COL_DEPTH
sets the variableVNC_COL_DEPTH
ARG_VNC_VIEW_ONLY
set the variableVNC_VIEW_ONLY
ARG_NO_VNC_PORT
sets the variableNO_VNC_PORT
- at container startup-time by setting the above environment variables through the
docker run -e
options - at VNC/noVNC startup-time by setting the above environment variables through a mounted external file (see README for more information)
- file
example-vnc-override.rc
has been added
- file
- at image build-time by setting the environment variables through build arguments:
-
hook script
pre_build
has been improved- environment variable
PROHIBIT_BUILDING
can be used to prevent the building and publishing of the image unconditionally - it is useful for testing the auto-building on Docker Hub before release
- environment variable
-
Other changes
- Readme files significantly updated (long versions for GitHub)
Mousepad
editor presets added- version sticker's desktop launcher got an icon
- example files moved into
docker/src/examples
- embedded readme files introduced
- base readme file got a desktop launcher
- other readme files go into the application user's home directory
- project Discussions introduced
-
Updated versions:
- Ubuntu 20.04.2
- Firefox 86.0
dconf-editor
simple configuration storage system graphical editor added
- VNC password not enforced any more (issue #6)
- it can be disabled by
run -e VNC_PW=""
- readme files also updated
- it can be disabled by
- TigerVNC switched from nightly builds (1.11.80) back to the latest release (1.11.0)
- Chromium Browser release auto-detection added
- Utility util-readme.sh for previewing and publishing README files from local computer has been added
- Initial release
- xfce into accetto/ubuntu-vnc-xfce-g3
- xfce-chromium into accetto/ubuntu-vnc-xfce-chromium-g3
- xfce-firefox into accetto/ubuntu-vnc-xfce-firefox-g3