User Guide - Docker Hub - Git Hub - sibling Wiki - sibling Discussions
This release brings the latest FreeCAD
version 1.0.0.
The image is based on Ubuntu 24.04 LTS
and also includes noVNC 1.5.0
and websockify 0.12.0
.
This is a maintenance release.
Updated components:
noVNC
to version 1.5.0websockify
to version 0.12.0
The version of the currently running Xfce4
can be checked by the utility xfce4-about
.
It can be executed from the terminal window or by the start menu item Applications/About Xfce
.
However, the utility requires the module libGL.so.1
, which is excluded from some images, to keep them smaller.
The module can be added in running containers as follows:
sudo apt-get update
sudo install libgl1
This is the first G3v6
release, introducing the images based on Ubuntu 24.04 LTS (Noble Numbat)
(except the FreeCAD
image).
The previous version G3v5
will still be available in this repository as the branch archived-generation-g3v5
.
- default base of the
latest
images is nowUbuntu 24.04 LTS (Noble Numbat)
- there is no
snap
included Firefox
is the latest non-snap version from the Mozilla Team PPAChromium
is the latest non-snap version from theUbuntu 18.04 LTS
distribution
- there is no
FreeCAD
image is still based onUbuntu 22.04 LTS (Jammy Jellyfish)
Other changes:
- Default user
headless:headless (1000:1000)
has been changed toheadless:headless (1001:1001)
.- This change has been required for the images based on
Ubuntu 24.04 (Noble Numbat)
, because those already contain the userubuntu:ubuntu (1000:1000)
. - The same change has been done also in the
FreeCAD
image to keep it uniform.
- This change has been required for the images based on
- 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.
Updated versions:
- Ubuntu to version 24.04
- jq to version 1.7
- Mousepad to version 0.6.1
- nano to version 7.2
- Python to version 3.12.3
- Blender to 4.0.2
- draw.io Desktop to 24.7.8
- Gimp to 2.10.36
- Inkscape to 1.3.2
This is the first G3v5
release.
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.
This is a maintenance release.
- Updated
VirtualGL
distribution URL in the scriptdocker/hooks/cache
.
Updated applications:
VirtualGL
to version 3.1.1
This is a fixed maintenance release. FreeCAD has changed assets naming.
Updated applications:
FreeCAD
to version 0.21.2
Warning! FreeCAD in this release doesn't work! Please use the next release.
This is a maintenance release. FreeCAD has changed assets naming.
This is a maintenance release.
- Fixed script
version_of
- new way to get the latest
VirtualGL
version number
- new way to get the latest
- Updated 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 file
$HOME/.bashrc
to all images. It contains examples of custom aliasesll
- justls -l
cls
- clears the terminal windowps1
- sets the command prompt text
-
Added more 'die-fast' error handling into the building and publishing scripts. They exit immediately if the image building or pushing commands fail.
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
This release brings updated and significantly shortened README files, because most of the content has been moved into the new User guide.
Updated applications:
FreeCAD
to version 0.21.0Inkscape
to version 1.3
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:
- Updated script
ci-builder.sh
:- groups
pivotal|complete|complete-chromium|complete-firefox
do not include theblender
andfreecad
images because of their size and upload time
- groups
FreeCAD
is back in its current version 0.20.2 and the image based on Ubuntu 22.04 LTS
.
Fixing a bug in the Dockerfile's stage_freecad of the archived branch archived-generation-g3v2
. The new archived branch name is archived-generation-g3v2-fix
.
Updated components (archived branch):
TigerVNC
to version 1.13.1noVNC
to version 1.4.0VirtualGL
to version 3.1Chromium Browser
to version 111.0.5563.64Firefox
to version 111.0.1
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 the first G3v3
release, switching the images from Ubuntu 20.04 LTS
to Ubuntu 22.04 LTS
and introducing the updated startup scripts. The previous version G3v2
will still be available in this repository as the branch archived-generation-g3v2
.
The image featuring FreeCAD
has been removed from this project. It will come back sometimes in the future, possibly as a stand-alone project. You can still download images containing FreeCAD v0.19.3
from the Docker Hub repository accetto/ubuntu-vnc-xfce-freecad-g3.
This release corresponds to the version G3v4
of the sibling project accetto/ubuntu-vnc-xfce-g3 (as of the release 23.03.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
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.1
- noVNC to version
1.4.0
- Blender to version
3.0.1
(Ubuntu distribution) - Gimp to version
2.10.30
(Ubuntu distribution)
Removed applications/images:
- FreeCAD version
0.19.3
-
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 for the images featuring FreeCAD
. The version is locked to v0.19.3
.
This is a quick fix release, because the 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.
- The image featuring
FreeCAD
is deprecated. See the project's README file for the explanation. However, the image containing theFreeCAD
version 0.19.3 can still be built.
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)Dockerfile.xfce.drawing
(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.
- The base images (accetto/ubuntu-vnc-xfce-opengl-g3) without Mesa3D and VirtualGL will not be published on Docker Hub any more. They can still be built locally after minor adjustments in the hook script
env.rc
. - The Mesa3D and VirtualGL libraries will be always implemented by the Blender and FreeCAD images.
- IMPROVED: Inkscape on Unraid seems to require the environment variable
_INKSCAPE_GC=disable
(issue #2)
- Dockerfiles use 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
- xfce-freecad added, into accetto/ubuntu-vnc-xfce-freecad-g3
- all FreeCAD images published on Docker Hub include the same 3D stuff as described by the previous release
- Dockerfile.xfce.drawing file, the stages diagram and the hook scripts updated accordingly
- xfce images added, into accetto/ubuntu-vnc-xfce-opengl-g3
- all Blender images published on Docker Hub include the same 3D stuff
- Dockerfile.xfce, Dockerfile.xfce.drawing, the stages diagrams and the hook scripts have been accordingly updated
- Dockerfile stage diagrams added (see the readme files)
- all images moved to
docker/doc/images
- packages dconf-editor and gdebi-core have been removed
- xfce-blender added, into accetto/ubuntu-vnc-xfce-blender-g3
- images with Chromium and Firefox will be also regularly built on Docker Hub
- 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)
- 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
- xfce-drawio Dockerfile adjusted to changed
draw.io Desktop
packaging
- Initial release
- xfce-drawio into accetto/ubuntu-vnc-xfce-drawio-g3
- xfce-gimp into accetto/ubuntu-vnc-xfce-gimp-g3
- xfce-inkscape into accetto/ubuntu-vnc-xfce-inkscape-g3
- xfce image is not built or published on Docker Hub by default