User Guide - Docker Hub - Git Hub - sibling Wiki - sibling Discussions
This is a fix release, finishing the changes announced in the previous release.
Changes:
- Default user
headless:headless (1000:1000)
has been changed toheadless:headless (1001:1001)
.- This change has been only done to keep the containers uniform with the ones from the sibling
Ubuntu
projects.
- This change has been only done to keep the containers uniform with the ones from the sibling
This is the first G3v6
release.
However, it's a maintenance release and the version number has been increased just to keep it synchronized with the sibling project accetto/ubuntu-vnc-xfce-g3.
The previous version G3v5
will still be available in this repository as the branch archived-generation-g3v5
.
Changes:
- [Sorry, this one change actually comes in the next release.] - Default user
headless:headless (1000:1000)
has been changed toheadless:headless (1001:1001)
.- This change has been only done to keep the containers uniform with the ones from the sibling
Ubuntu
projects.
- This change has been only done to keep the containers uniform with the ones from the sibling
- The directive
syntax=docker/dockerfile:experimental
has been removed from all Dockerfiles. - The
noVNC
starting page has been updated in all images.- If no
noVNC Client
is selected, then theFull Client
will start automatically in 10 seconds.
- If no
- The hook script
release_of
has been updated with the intention to report more helpful building errors.
This is a fix release, correcting an unfortunate copy-and-paste error in the files Dockerfile.xfce.nodejs
, Dockerfile.xfce.nvm
and Dockerfile.xfce.python
.
Other changes:
- Readme files for Docker Hub have got a new section
Sharing Visual Studio Code profiles
This is the first G3v5
release.
It also introduces the portable Visual Studio Code installation.
Remark: The version number G3v4
has been skipped, to align the numbering with the sibling project accetto/ubuntu-vnc-xfce-g3.
The updated script set_user_permissions.sh
, which is part of Dockerfiles, skips the hidden files and directories now.
It generally should not have any unwanted side effects, but it may make a difference in some scenarios, hence the version increase.
The default Visual Studio Code
installation path is $HOME/.vscode-portable/code
and it can be changed by setting the build argument ARG_VSCODE_PATH
.
By setting the build argument ARG_VSCODE_VERSION
it's possible to install a particular Visual Studio Code
version.
The complete Visual Studio Code
profile is by default in the folder $HOME/.vscode-portable/code/data
.
Note that the portable Visual Studio Code
does not support automatic updates.
However, manual updating is really easy.
Visit the official Portable Mode page for more information.
Alternatively you can pull or build an updated accetto
image containing the new Visual Studio Code
version.
This release brings new images containing the free open-source utility NVM
(Node Version Manager), which allows installing and using multiple Node.js
versions concurrently. No Node.js
version is installed by default.
They can be pulled from the repository accetto/debian-vnc-xfce-nvm-g3 on Docker Hub.
The images are meant as a more flexible alternative to the ones from the repository accetto/debian-vnc-xfce-nodejs-g3, that contain particular Node.js
versions.
Publishing those images will be phased out, but you can always build them yourself using the GitHub project.
Changes:
- resources for building the new
NVM
images have been added - new
NVM
related blends have been addednvm
,nvm-chromium
,nvm-vscode
,nvm-vscode-chromium
,nvm-vscode-firefox
- new Dockerfile
Dockerfile.xfce.nvm
has been added - hook scripts in the folder
docker/hooks/
have been updated - version discovery in the hook script
release_of
has been improvednvm
key has been added- processing of keys
nodejs-lts
andnodejs-current
has been improved (fixed)
- scripts
version_of.sh
andversion_sticker.sh
have been updated - embedded help in builder scripts
builder.sh
andci-builder.sh
has been updated - building groups in the script
ci-builder.sh
have been updatedNVM
related blends have been addedNode.js
andPostman
related blends have been removed from the named groupspivotal
,complete
,complete-chromium
,complete-firefox
andcomplete-vscode
Node.js
andPostman
blends should be build/published explicitly
- building related README files have been updated
- stage diagram
Dockerfile.xfce.nvm.png
has been added
Other changes:
- Updated all Dockerfiles
- file
.bashrc
is created earlier (stagemerge_stage_vnc
)
- file
- Updated file
example-secrets.rc
- removed the initialization of the variables
FORCE_BUILDING
andFORCE_PUBLISHING_BUILDER_REPO
(unset means0
) - the variables are still used as before, but now they can be set individually for each building/publishing run
- removed the initialization of the variables
Added more 'die-fast' error handling into the building and publishing scripts. They exit immediately if the image building or pushing commands fail.
Improved Node.js
images:
- global
npm
modules are installed into the folder$HOME/$NPM_GLOBAL_MODULES
- default folder name is
.node_modules_global
- the folder is owned by the container user
Other changes:
- file
$HOME/.bashrc
added to all images- it contains examples of custom aliases
ll
- justls -l
cls
- clears the terminal windowps1
- sets the command prompt text
- it contains examples of custom aliases
This is a maintenance release fixing the nodejs-current
publishing problem.
This release brings new images based on the current Debian 12.
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
- script
ci-builder.sh
has been updatedpostman
has been removed from thepivotal
group- group
complete
has been re-ordered
Main updated components:
Debian
to version 12.1Xfce
desktop to version 4.18Mousepad
to version 0.5.10nano
to version 7.2Python
to version 3.11.2
Images with Postman
still include the version 10.13.6, because it's the last version containing Scratch Pad
.
You can update Postman
to the latest version in the running container, if you don't mind loosing the Scratch Pad.
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
.
Other changes:
- Script
ci-builder.sh
- group
complete-vscode
has been split into two groupscomplete-vscode-all
is the same as the formercomplete-vscode
group and it includes all images that contain Visual Studio Codecomplete-vscode
includes only theaccetto/debian-vnc-xfce-vscode-g3
images
- group
The Postman company has decided to remove Scratch Pad
from Postman App
as of May 15, 2023. Therefore will Postman
images from now on always include the version 10.13.6
, the last one that still contains Scratch Pad
.
Important for builders: Downloading Postman
is prohibited. The file postman-10.13.6-linux-x64.tar.gz
must be put into g3-cache
.
Fixes:
Node.js
: Failing building because the version detection code needed adjustments.
Main changes:
hooks/release_of
: Node.js version detection code has been adjustedhooks/cache
,Dockerfile.xfce.postman
: Postman downloading is prohibited,g3-cache
must be used.- Postman image README files updated
Added a new image accetto/debian-vnc-xfce-vscode-g3.
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 sibling 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
This is the first G3v3
release, switching the images from Ubuntu 20.04 LTS
to Debian 11
and introducing the updated startup scripts. The previous version G3v2
will still be available in this repository as the branch archived-generation-g3v2-ubuntu
.
This release corresponds to the version G3v4
of the sibling project accetto/ubuntu-vnc-xfce-g3 (as of the release 23.02.1
).
The updated startup scripts that support overriding the user ID (id
) and group ID (gid
) without needing the former build argument ARG_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
.
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.)
Changes in build arguments:
- removed
ARG_FEATURES_USER_GROUP_OVERRIDE
- 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.nodejs
,Dockerfile.xfce.postman
andDockerfile.xfce.python
- updated
startup.sh
,user_generator.rc
andset_user_permissions.sh
- updated hook scripts
env.rc
,build
,pre_build
andutil.rc
- 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 last G3v2
release with the images based on Ubuntu 20.04 LTS
.
-
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.
- xfce-nodejs
- updated the
package.json
file of the sampleelectron-test-app
to satisfy the Dependabot alerts
- updated the
-
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)Dockerfile.xfce.nodejs
(components updated and added)Dockerfile.xfce.postman
(components updated and added)Dockerfile.xfce.python
(components updated and added)vnc_startup.rc
(new noVNC startup)version_sticker.sh
(python3 included)env.rc
(handling of tags)build
(handling of tags)pre_build
(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 images will always include also Firefox plus features. They do not change the default Firefox installation in any way and you can simply ignore them, if you wish.
- fixed
Dockerfile.xfce.postman
- package
libxshmfence1
added - it's required since Postman v9.8.3
- package
- Dockerfiles use TigerVNC releases from SourceForge website
Dockerfile.xfce.nodejs
andDockerfile.xfce.python
updated (VSCode stage)
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 stage diagrams added (see the readme files)
- script
release_of.sh
improved
- packages dconf-editor and gdebi-core have been removed
- TigerVNC from Release Mirror on accetto/tigervnc because Bintray is closing on 2021-05-01
- circumventing limit of 25 auto-builder rules on Docker Hub
- using two builder repositories
- workflow
dockerhub-autobuild.yml
triggers both of them - see also updated sibling project Wiki (pages Building stages and How CI works)
- added xfce-postman into accetto/ubuntu-vnc-xfce-postman-g3
- sample applications moved from
/srv/projects/
to/srv/samples
- this allows volume binding to
/srv/projects/
without eclipsing the provided samples - build argument
ARG_SAMPLES_DIR
and environment variableSAMPLES_DIR
introduced
- this allows volume binding to
- readme files updated, including the embedded ones
- 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
- added xfce-python into accetto/ubuntu-vnc-xfce-python-g3
- Initial release
- xfce-nodejs into accetto/ubuntu-vnc-xfce-nodejs-g3
- xfce image is not built or published on Docker Hub by default