Skip to content

Commit

Permalink
Release 24.09
Browse files Browse the repository at this point in the history
  • Loading branch information
accetto committed Sep 14, 2024
1 parent 900922e commit af6c172
Show file tree
Hide file tree
Showing 14 changed files with 734 additions and 153 deletions.
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,39 @@

***

### Release 24.09

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 now `Ubuntu 24.04 LTS (Noble Numbat)`
- there is no `snap` included
- `Firefox` is the latest non-snap version from the Mozilla Team PPA
- `Chromium` is the latest non-snap version from the `Ubuntu 18.04 LTS` distribution
- `FreeCAD` image is still based on `Ubuntu 22.04 LTS (Jammy Jellyfish)`

Other changes:

- Default user `headless:headless (1000:1000)` has been changed to `headless:headless (1001:1001)`.
- This change has been required for the images based on `Ubuntu 24.04 (Noble Numbat)`, because those already contain the user `ubuntu:ubuntu (1000:1000)`.
- The same change has been done also in the `FreeCAD` image to keep it uniform.
- 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 the `Full Client` will start automatically in 10 seconds.
- 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**

### Release 24.03

This is the first `G3v5` release.
Expand Down
17 changes: 10 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Project `accetto/headless-drawing-g3`

Version: G3v5
Version: G3v6

***

Expand Down Expand Up @@ -35,7 +35,7 @@ Version: G3v5

This GitHub repository contains resources and tools for building Docker images for headless working.

The images are based on [Ubuntu 22.04 LTS][docker-ubuntu] and include [Xfce][xfce] desktop, [TigerVNC][tigervnc] server and [noVNC][novnc] client.
The images are based on [Ubuntu 24.04 LTS][docker-ubuntu] (except the `FreeCAD` image) and include [Xfce][xfce] desktop, [TigerVNC][tigervnc] server and [noVNC][novnc] client.
The popular web browsers [Chromium][chromium] and [Firefox][firefox] are also included.

The image family provides also selected applications for headless drawing, graphics and modelling.
Expand All @@ -56,7 +56,7 @@ Ordinary users can simply use the images available in the following repositories
- [accetto/ubuntu-vnc-xfce-gimp-g3][accetto-docker-ubuntu-vnc-xfce-gimp-g3]
- [accetto/ubuntu-vnc-xfce-inkscape-g3][accetto-docker-ubuntu-vnc-xfce-inkscape-g3]

There is also a sibling project [accetto/ubuntu-vnc-xfce-g3][accetto-github-ubuntu-vnc-xfce-g3] containing similar images based on [Ubuntu 22.04 LTS and 20.04 LTS][docker-ubuntu].
There is also a sibling project [accetto/ubuntu-vnc-xfce-g3][accetto-github-ubuntu-vnc-xfce-g3] containing similar images based on [Ubuntu 24.04, 22.04 and 20.04 LTS][docker-ubuntu].

Another sibling project [accetto/headless-coding-g3][accetto-github-headless-coding-g3] contains images for headless programming.

Expand Down Expand Up @@ -104,14 +104,17 @@ The **first generation** (G1) contains the GitHub repository [accetto/ubuntu-vnc

### Project versions

This file describes the **fifth version** (G3v5) of the project.
This file describes the **sixth version** (G3v6) of the project.

*Remark*: The version number `G3v4` has been skipped, to align the numbering with the **sibling project** [accetto/ubuntu-vnc-xfce-g3][accetto-github-ubuntu-vnc-xfce-g3].

The **second version** (G3v2) and the **first version** (G3v1, or simply G3) will still be available in this GitHub repository as the branches `archived-generation-g3v2` and `archived-generation-g3v1`.
The **third version** (G3v3) was not archived, because the changes are minor.
The previous versions are still available in this **GitHub** repository as the branches named as `archived-generation-g3v{d}`.

The version `G3v5` brings only one significant change comparing to the previous version `G3v4`:
The version `G3v6` adds the images based on `Ubuntu 24.04 LTS (Noble Numbat)`, except the `FreeCAD` image, which is still based on `Ubuntu 22.04 LTS (Jammy Jellyfish)`.

Also the default user `headless:headless (1000:1000)` has been changed to `headless:headless (1001:1001)` in all images, even if it has been technically required only for the images based on `Ubuntu 24.04 LTS (Noble Numbat)`.

The version `G3v5` has brought only one significant change comparing to the previous version `G3v4`:

- 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.
Expand Down
48 changes: 24 additions & 24 deletions docker/Dockerfile.xfce
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
# syntax=docker/dockerfile:experimental

ARG BASEIMAGE=ubuntu
ARG BASETAG=22.04
ARG BASETAG=24.04

ARG ARG_MERGE_STAGE_VNC_BASE=stage_vnc
ARG ARG_MERGE_STAGE_MESA_BASE=merge_stage_vnc
ARG ARG_MERGE_STAGE_BROWSER_BASE=merge_stage_mesa
ARG ARG_FINAL_STAGE_BASE=merge_stage_browser

ARG ARG_HEADLESS_USER_ID=1000
ARG ARG_HEADLESS_USER_ID=1001
ARG ARG_HEADLESS_USER_NAME=headless
ARG ARG_HEADLESS_USER_GROUP_ID=1000
ARG ARG_HEADLESS_USER_GROUP_ID=1001
ARG ARG_HEADLESS_USER_GROUP_NAME=headless
ARG ARG_SUDO_INITIAL_PW=headless

Expand All @@ -19,7 +17,7 @@ ARG ARG_SUDO_INITIAL_PW=headless
### stage_cache
###############

FROM ${BASEIMAGE}:${BASETAG} as stage_cache
FROM ${BASEIMAGE}:${BASETAG} AS stage_cache

### refresh the 'apt' cache
RUN rm -f /etc/apt/apt.conf.d/docker-clean ; \
Expand All @@ -39,7 +37,7 @@ RUN \
### stage_essentials
####################

FROM ${BASEIMAGE}:${BASETAG} as stage_essentials
FROM ${BASEIMAGE}:${BASETAG} AS stage_essentials

RUN \
--mount=type=cache,from=stage_cache,sharing=locked,source=/var/cache/apt,target=/var/cache/apt \
Expand All @@ -60,7 +58,7 @@ RUN \
### stage_xserver
#################

FROM stage_essentials as stage_xserver
FROM stage_essentials AS stage_xserver
ARG ARG_APT_NO_RECOMMENDS

ENV \
Expand All @@ -82,7 +80,7 @@ RUN \
### stage_xfce
##############

FROM stage_xserver as stage_xfce
FROM stage_xserver AS stage_xfce
ARG ARG_APT_NO_RECOMMENDS

ENV FEATURES_BUILD_SLIM_XFCE="${ARG_APT_NO_RECOMMENDS:+1}"
Expand All @@ -100,7 +98,7 @@ RUN \
### stage_tools
###############

FROM stage_xfce as stage_tools
FROM stage_xfce AS stage_tools
ARG ARG_APT_NO_RECOMMENDS
ARG ARG_FEATURES_SCREENSHOOTING
ARG ARG_FEATURES_THUMBNAILING
Expand All @@ -126,7 +124,7 @@ RUN \
### stage_vnc
#############

FROM stage_tools as stage_vnc
FROM stage_tools AS stage_vnc
ARG ARG_VNC_COL_DEPTH
ARG ARG_VNC_DISPLAY
ARG ARG_VNC_PORT
Expand Down Expand Up @@ -167,7 +165,7 @@ EXPOSE "${VNC_PORT}"
### stage_novnc
###############

FROM stage_vnc as stage_novnc
FROM stage_vnc AS stage_novnc
ARG ARG_APT_NO_RECOMMENDS
ARG ARG_NOVNC_PORT
ARG ARG_NOVNC_VERSION
Expand Down Expand Up @@ -209,10 +207,12 @@ RUN echo \
<head>\n\
<title>noVNC</title>\n\
<meta charset=\"utf-8\"/>\n\
<meta http-equiv=\"refresh\" content=\"10; url='vnc.html'\" />\n\
</head>\n\
<body>\n\
<p><a href=\"vnc_lite.html\">noVNC Lite Client</a></p>\n\
<p><a href=\"vnc.html\">noVNC Full Client</a></p>\n\
<p><a href=\"vnc_lite.html\">noVNC Lite Client</a></p>\n\
<p><a href=\"vnc.html\">noVNC Full Client</a></p>\n\
<p>Full Client will start automatically in 10 seconds...</p>\n\
</body>\n\
</html>" \
> "${NOVNC_HOME}"/index.html
Expand All @@ -224,7 +224,7 @@ EXPOSE "${NOVNC_PORT}"
### merge_stage_vnc
###################

FROM ${ARG_MERGE_STAGE_VNC_BASE} as merge_stage_vnc
FROM ${ARG_MERGE_STAGE_VNC_BASE} AS merge_stage_vnc
ARG ARG_HEADLESS_USER_ID
ARG ARG_HEADLESS_USER_NAME
ARG ARG_HEADLESS_USER_GROUP_ID
Expand All @@ -247,7 +247,7 @@ COPY ./src/home "${HOME}"/
### stage_mesa
##############

FROM merge_stage_vnc as stage_mesa
FROM merge_stage_vnc AS stage_mesa
ARG ARG_APT_NO_RECOMMENDS

ENV \
Expand All @@ -267,7 +267,7 @@ RUN \
### stage_virtualgl
###################

FROM stage_mesa as stage_virtualgl
FROM stage_mesa AS stage_virtualgl
ARG ARG_APT_NO_RECOMMENDS
ARG ARG_VIRTUALGL_DISTRO
ARG ARG_VIRTUALGL_VERSION
Expand Down Expand Up @@ -301,14 +301,14 @@ RUN \
### merge_stage_mesa
####################

FROM ${ARG_MERGE_STAGE_MESA_BASE} as merge_stage_mesa
FROM ${ARG_MERGE_STAGE_MESA_BASE} AS merge_stage_mesa


##################
### stage_chromium
##################

FROM merge_stage_mesa as stage_chromium
FROM merge_stage_mesa AS stage_chromium
ARG ARG_APT_NO_RECOMMENDS
ARG ARG_CHROMIUM_DISTRO
ARG ARG_CHROMIUM_VERSION
Expand Down Expand Up @@ -359,7 +359,7 @@ RUN \
### stage_firefox
#################

FROM merge_stage_mesa as stage_firefox
FROM merge_stage_mesa AS stage_firefox
ARG ARG_APT_NO_RECOMMENDS

ENV \
Expand Down Expand Up @@ -397,7 +397,7 @@ COPY ./xfce-firefox/src/home/Desktop "${HOME}"/Desktop/
### stage_firefox_plus
### ##################

FROM stage_firefox as stage_firefox_plus
FROM stage_firefox AS stage_firefox_plus

ENV FEATURES_FIREFOX_PLUS=1

Expand All @@ -416,14 +416,14 @@ RUN \
### merge_stage_browser
#######################

FROM ${ARG_MERGE_STAGE_BROWSER_BASE} as merge_stage_browser
FROM ${ARG_MERGE_STAGE_BROWSER_BASE} AS merge_stage_browser


###############
### FINAL STAGE
###############

FROM ${ARG_FINAL_STAGE_BASE} as stage_final
FROM ${ARG_FINAL_STAGE_BASE} AS stage_final
ARG ARG_FEATURES_OVERRIDING_ENVV
ARG ARG_SUDO_INITIAL_PW

Expand Down Expand Up @@ -469,7 +469,7 @@ ENTRYPOINT [ "/usr/bin/tini", "--", "/dockerstartup/startup.sh" ]
### METADATA STAGE
##################

FROM stage_final as stage_metadata
FROM stage_final AS stage_metadata
ARG ARG_CREATED
ARG ARG_DOCKER_TAG
ARG ARG_VCS_REF
Expand Down
Loading

0 comments on commit af6c172

Please sign in to comment.