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 9, 2024
1 parent 2f67479 commit 7d52fe2
Show file tree
Hide file tree
Showing 20 changed files with 634 additions and 89 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)`.
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
- `latest` images will be doubled by the tags with the prefix `24.04`
- images based on `Ubuntu 22.04 LTS` will still be published
- their tags will begin with the prefix `22.04`
- images based on `Ubuntu 20.04 LTS` will still be published
- their tags will begin with the prefix `20.04`

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 that already contains the user `ubuntu:ubuntu (1000:1000)`.
- The same change has been done also in the images based on `Ubuntu 22.04 (Jammy Jellyfish)` and `Ubuntu 20.04 (Focal Fossa)` to keep them 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**

### Release 24.03

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

## Project `accetto/ubuntu-vnc-xfce-g3`

Version: G3v5
Version: G3v6

***

Expand Down Expand Up @@ -48,7 +48,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 and 20.04 LTS][docker-ubuntu] and include [Xfce][xfce] desktop, [TigerVNC][tigervnc] server and [noVNC][novnc] client.
The images are based on [Ubuntu 24.04, 22.04 and 20.04 LTS][docker-ubuntu] and include [Xfce][xfce] desktop, [TigerVNC][tigervnc] server and [noVNC][novnc] client.
The popular web browsers [Chromium][chromium] and [Firefox][firefox] are also included.

This [User guide][this-user-guide] describes the images and how to use them.
Expand Down Expand Up @@ -106,13 +106,16 @@ 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.

However, also this version keeps evolving.
Please check the [CHANGELOG][this-changelog] for more information about the changes.

The **first version** (G3v1, or simply G3), the **second version** (G3v2, only 20.04 images) and the **third version** (G3v3, 22.04 and 20.04 images) are still available in this **GitHub** repository as the branches `archived-generation-g3v1`, `archived-generation-g3v2` and `archived-generation-g3v3`.
The **fourth version** (G3v4) 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 `G3v6` adds the images based on `Ubuntu 24.04 LTS (Noble Numbat)`.

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` brings only one significant change comparing to the previous version `G3v4`:

Expand Down
4 changes: 2 additions & 2 deletions builder.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash -e
### @accetto, August 2021
### updated: September 2022, January 2023
### Updated: September 2022, January 2023, September 2024

### depends on the hook scripts
### set the environment variables first, e.g. 'source .secrets'
Expand Down Expand Up @@ -44,7 +44,7 @@ This script can:
Usage: $0 <blend> <command> [<docker-cli-options>]
blend := (latest|jammy|focal)[-chromium|-firefox]
blend := (latest|noble|jammy|focal)[-chromium|-firefox]
command := (all|all-no-push)|(pre_build|build|push|post_push|cache)
The <docker-cli-options> (e.g. '--no-cache') are passed to the Docker CLI commands used internally.
Expand Down
30 changes: 21 additions & 9 deletions ci-builder.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
### do not use '-e'
### @accetto, September 2022
### updated: January 2023
### Updated: January 2023, September 2024

### depends on the script 'builder.sh'
### set the environment variables first, e.g. 'source .secrets'
Expand Down Expand Up @@ -101,9 +101,9 @@ Usage: <script> <mode> <argument> [<optional-argument>]...
<command> := (all|all-no-push)
<mode> := (group|family)
<blend> := pivotal
|(complete[-latest|-jammy|-focal|-chromium|-firefox])
|(latest|jammy|focal[-chromium|-firefox])
<parent-blend> := (complete)|(latest|jammy|focal[-chromium|-firefox])
|(complete[-latest|-noble|-jammy|-focal|-chromium|-firefox])
|(latest|noble|jammy|focal[-chromium|-firefox])
<parent-blend> := (complete)|(latest|noble|jammy|focal[-chromium|-firefox])
<child-suffix> := depends on context, e.g. '-ver1|-ver2' (currently none supported)
Group mode : All images are processed independently.
Expand Down Expand Up @@ -289,13 +289,13 @@ main() {
pivotal )

clear_log
build_group "${command}" "latest" "focal" "latest-firefox" "focal-firefox" "latest-chromium" "focal-chromium"
build_group "${command}" "latest" "jammy" "focal" "latest-firefox" "focal-firefox" "latest-chromium" "focal-chromium"
;;

complete )

clear_log
build_group "${command}" "latest" "focal" "latest-firefox" "focal-firefox" "latest-chromium" "focal-chromium"
build_group "${command}" "latest" "jammy" "focal" "latest-firefox" "focal-firefox" "latest-chromium" "focal-chromium"
;;

complete-latest )
Expand All @@ -304,6 +304,12 @@ main() {
build_group "${command}" "latest" "latest-firefox" "latest-chromium"
;;

complete-noble )

clear_log
build_group "${command}" "noble" "noble-firefox" "noble-chromium"
;;

complete-jammy )

clear_log
Expand All @@ -319,16 +325,18 @@ main() {
complete-chromium )

clear_log
build_group "${command}" "latest-chromium" "focal-chromium"
build_group "${command}" "latest-chromium" "jammy-chromium" "focal-chromium"
;;

complete-firefox )

clear_log
build_group "${command}" "latest-firefox" "focal-firefox"
build_group "${command}" "latest-firefox" "jammy-firefox" "focal-firefox"
;;

latest | latest-chromium | latest-firefox | jammy | jammy-chromium | jammy-firefox \
latest | latest-chromium | latest-firefox \
| noble | noble-chromium | noble-firefox \
| jammy | jammy-chromium | jammy-firefox \
| focal | focal-chromium | focal-firefox )

clear_log
Expand All @@ -350,14 +358,18 @@ main() {
clear_log

build_family "${command}" "latest"
build_family "${command}" "jammy"
build_family "${command}" "focal"
build_family "${command}" "latest-firefox"
build_family "${command}" "jammy-firefox"
build_family "${command}" "focal-firefox"
build_family "${command}" "latest-chromium"
build_family "${command}" "jammy-chromium"
build_family "${command}" "focal-chromium"
;;

latest | latest-chromium | latest-firefox \
| noble | noble-chromium | noble-firefox \
| jammy | jammy-chromium | jammy-firefox \
| focal | focal-chromium | focal-firefox )

Expand Down
36 changes: 18 additions & 18 deletions docker/Dockerfile.xfce.20-04
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
# syntax=docker/dockerfile:experimental

ARG BASEIMAGE=ubuntu
ARG BASETAG=20.04

ARG ARG_MERGE_STAGE_VNC_BASE=stage_vnc
ARG ARG_MERGE_STAGE_BROWSER_BASE=merge_stage_vnc
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 @@ -18,7 +16,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 @@ -38,7 +36,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 @@ -57,7 +55,7 @@ RUN \
### stage_xserver
#################

FROM stage_essentials as stage_xserver
FROM stage_essentials AS stage_xserver
ARG ARG_APT_NO_RECOMMENDS

ENV \
Expand All @@ -79,7 +77,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 @@ -96,7 +94,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 @@ -122,7 +120,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 @@ -163,7 +161,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 @@ -205,10 +203,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 Down Expand Up @@ -243,7 +243,7 @@ COPY ./src/home "${HOME}"/
### stage_chromium
##################

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

FROM merge_stage_vnc as stage_firefox
FROM merge_stage_vnc AS stage_firefox
ARG ARG_APT_NO_RECOMMENDS

ENV \
Expand All @@ -314,7 +314,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 @@ -340,7 +340,7 @@ 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 @@ -387,7 +387,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 7d52fe2

Please sign in to comment.