diff --git a/.github/workflows/CI-unixish-docker.yml b/.github/workflows/CI-unixish-docker.yml
index 8235da64e88..354456c0fcc 100644
--- a/.github/workflows/CI-unixish-docker.yml
+++ b/.github/workflows/CI-unixish-docker.yml
@@ -15,15 +15,12 @@ on:
 permissions:
   contents: read
   
-env:
-  ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
-
 jobs:
   build_cmake:
 
     strategy:
       matrix:
-        image: ["ubuntu:16.04", "ubuntu:18.04", "ubuntu:24.04", "ubuntu:24.10"]
+        image: ["ubuntu:24.04", "ubuntu:24.10"]
         include:
           - build_gui: false
           - image: "ubuntu:24.04"
@@ -43,13 +40,7 @@ jobs:
       image: ${{ matrix.image }}
 
     steps:
-      # we need to stay at v3 for now because Node 20 does not support the older distros
-      # /__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
-      - uses: actions/checkout@v3
-        if: matrix.image == 'ubuntu:16.04' || matrix.image == 'ubuntu:18.04'
-
       - uses: actions/checkout@v4
-        if: matrix.image != 'ubuntu:16.04' && matrix.image != 'ubuntu:18.04'
 
       - name: Install missing software on ubuntu
         if: contains(matrix.image, 'ubuntu')
@@ -62,36 +53,15 @@ jobs:
         run: |
           apt-get install -y qt6-base-dev qt6-charts-dev qt6-tools-dev
 
-      # needs to be called after the package installation since
-      # - it doesn't call "apt-get update"
-      #
-      # needs to be to fixated on 1.2.11 so it works with older images - see https://github.com/hendrikmuhs/ccache-action/issues/178.
-      # using the older version will cause a two minute hang in its post-run step.
-      - name: ccache
-        uses: hendrikmuhs/ccache-action@v1.2.11
-        if: matrix.image == 'ubuntu:16.04' || matrix.image == 'ubuntu:18.04'
-        with:
-          key: ${{ github.workflow }}-${{ matrix.image }}
-
       # needs to be called after the package installation since
       # - it doesn't call "apt-get update"
       - name: ccache
         uses: hendrikmuhs/ccache-action@v1.2
-        if: matrix.image != 'ubuntu:16.04' && matrix.image != 'ubuntu:18.04'
         with:
           key: ${{ github.workflow }}-${{ matrix.image }}
 
-      # tests require CMake 3.9 - ccache available
-      - name: CMake build (no tests)
-        if: matrix.image == 'ubuntu:16.04'
-        run: |
-          mkdir cmake.output
-          cd cmake.output
-          cmake -G "Unix Makefiles" -DHAVE_RULES=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ..
-          cmake --build . -- -j$(nproc)
-
       - name: CMake build
-        if: ${{ !matrix.build_gui && matrix.image != 'ubuntu:16.04' }}
+        if: ${{ !matrix.build_gui }}
         run: |
           mkdir cmake.output
           cd cmake.output
@@ -105,7 +75,6 @@ jobs:
           cmake --build cmake.output -- -j$(nproc)
 
       - name: Run CMake test
-        if: matrix.image != 'ubuntu:16.04'
         run: |
           cmake --build cmake.output --target check -- -j$(nproc)
 
@@ -113,7 +82,7 @@ jobs:
 
     strategy:
       matrix:
-        image: ["ubuntu:16.04", "ubuntu:18.04", "ubuntu:24.04", "ubuntu:24.10"]
+        image: ["ubuntu:24.04", "ubuntu:24.10"]
       fail-fast: false # Prefer quick result
 
     runs-on: ubuntu-22.04
@@ -122,13 +91,7 @@ jobs:
       image: ${{ matrix.image }}
 
     steps:
-      # we need to stay at v3 for now because Node 20 does not support the older distros
-      # /__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)
-      - uses: actions/checkout@v3
-        if: matrix.image == 'ubuntu:16.04' || matrix.image == 'ubuntu:18.04'
-
       - uses: actions/checkout@v4
-        if: matrix.image != 'ubuntu:16.04' && matrix.image != 'ubuntu:18.04'
 
       - name: Install missing software on ubuntu
         if: contains(matrix.image, 'ubuntu')
@@ -136,22 +99,10 @@ jobs:
           apt-get update
           apt-get install -y g++ make python3 libxml2-utils libpcre3-dev
 
-      # needs to be called after the package installation since
-      # - it doesn't call "apt-get update"
-      #
-      # needs to be to fixated on 1.2.11 so it works with older images - see https://github.com/hendrikmuhs/ccache-action/issues/178.
-      # using the older version will cause a two minute hang in its post-run step.
-      - name: ccache
-        uses: hendrikmuhs/ccache-action@v1.2.11
-        if: matrix.image == 'ubuntu:16.04' || matrix.image == 'ubuntu:18.04'
-        with:
-          key: ${{ github.workflow }}-${{ matrix.image }}
-
       # needs to be called after the package installation since
       # - it doesn't call "apt-get update"
       - name: ccache
         uses: hendrikmuhs/ccache-action@v1.2
-        if: matrix.image != 'ubuntu:16.04' && matrix.image != 'ubuntu:18.04'
         with:
           key: ${{ github.workflow }}-${{ matrix.image }}
 
@@ -183,10 +134,3 @@ jobs:
         run: |
           ./cppcheck --addon=threadsafety addons/test/threadsafety
           ./cppcheck --addon=threadsafety --std=c++03 addons/test/threadsafety
-
-      - name: Generate Qt help file on ubuntu 18.04
-        if: false # matrix.os == 'ubuntu-18.04'
-        run: |
-          pushd gui/help
-          qcollectiongenerator online-help.qhcp -o online-help.qhc
-