diff --git a/.dockerignore b/.dockerignore
index 51570594ce1706a11c14303401d7e9d60696c840..6064a04eb28322ac554ccd1aac0bd0f4b878eeb1 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -6,3 +6,4 @@ docs/build/
 test/
 venv/
 *.egg-info/
+*.sif
diff --git a/.gitignore b/.gitignore
index 19a2807e931aced33b3105272524c3c5b09cb8e9..8bd3267039278e9eb85f09a3fb83ec863317d277 100644
--- a/.gitignore
+++ b/.gitignore
@@ -149,3 +149,6 @@ cython_debug/
 
 # Visual Studio settings
 .vscode
+
+# Singularity/Apptainer images
+*.sif
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3af9853b876352f492e51aac84b5f3e5d4de1925..126902a1e8c6d8d308ed86dc87347618a1d3531f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,7 +21,7 @@ versioning:
     - ./Docker/fetch_latest_commits.sh | tee commits.txt > versions.env
     - echo RAPTHOR_VERSION=$(./Docker/get_scm_version.sh) >> versions.env
     # Use hash of commits and CI/CD build files to determine tag of base image
-    - sha_files=".gitlab-ci.yml ci/ubuntu_20_04-* commits.txt"
+    - sha_files=".gitlab-ci.yml ci/ubuntu_22_04-* commits.txt"
     - BASE_NAME=${CI_REGISTRY_IMAGE}/base >> versions.env
     - BASE_TAG=$(shasum ${sha_files} | shasum | cut -d" " -f1)
     - FULL_NAME=${CI_REGISTRY_IMAGE}/full
@@ -51,7 +51,7 @@ build-docker-base:
       then
         [ "$BUILD_DOCKER_IMAGE" = "1" ] && DOCKER_CACHE="--no-cache" || DOCKER_CACHE=""
         docker build ${DOCKER_CACHE} \
-          --file ci/ubuntu_20_04-base \
+          --file ci/ubuntu_22_04-base \
           --tag $BASE_IMAGE \
           .
         docker push $BASE_IMAGE
@@ -69,7 +69,7 @@ build-docker-full:
         --build-arg BASE_NAME=$BASE_NAME
         --build-arg BASE_TAG=$BASE_TAG
         --build-arg VERSION=$RAPTHOR_VERSION
-        --file ci/ubuntu_20_04-rapthor
+        --file ci/ubuntu_22_04-rapthor
         --tag $FULL_IMAGE
         .
     - docker push $FULL_IMAGE
@@ -108,7 +108,7 @@ rapthor-test:
     - pip install --upgrade pip
     - pip install tox
   script:
-    - tox -e py38
+    - tox -e py310
 
 # Deploy to docker hub
 deploy-docker:
diff --git a/ci/debug.sh b/ci/debug.sh
index af35723354cf15cbebdf727c6215929427e761ef..cfe8b9f90c829c68c9f53631057c328de13c920a 100755
--- a/ci/debug.sh
+++ b/ci/debug.sh
@@ -14,5 +14,5 @@ else
     cd ${ROOT}
 fi
 
-docker build --tag rapthor/ubuntu_20_04-base  -f "${ROOT}/ci/ubuntu_20_04-base" .
-docker run -it --volume "${ROOT}:/rapthor" --workdir "/rapthor" rapthor/ubuntu_20_04-base bash
+docker build --tag rapthor/ubuntu_22_04-base  -f "${ROOT}/ci/ubuntu_22_04-base" .
+docker run -it --volume "${ROOT}:/rapthor" --workdir "/rapthor" rapthor/ubuntu_22_04-base bash
diff --git a/ci/ubuntu_20_04-base b/ci/ubuntu_22_04-base
similarity index 92%
rename from ci/ubuntu_20_04-base
rename to ci/ubuntu_22_04-base
index 4d498104a3fcc5d1cb17df17344463789e3b75ff..1cce69311f3c402871bfe453bcc63b2484e70a8a 100644
--- a/ci/ubuntu_20_04-base
+++ b/ci/ubuntu_22_04-base
@@ -1,4 +1,4 @@
-FROM ubuntu:20.04 as builder
+FROM ubuntu:22.04 as builder
 
 # This Dockerfile builds a docker image containing all Rapthor's dependencies
 
@@ -150,7 +150,7 @@ RUN python3 -m pip install --upgrade ./rapthor && \
 # The image will now be rebuilt without adding the sources, in order to
 # reduce the size of the image.
 #---------------------------------------------------------------------------
-FROM ubuntu:20.04 as runner
+FROM ubuntu:22.04 as runner
 
 COPY --from=builder /usr/local /usr/local
 
@@ -161,32 +161,32 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
         ca-certificates \
         casacore-tools \
         git \
-        libarmadillo9 \
         libatkmm-1.6-1v5 \
-        libboost-date-time1.71.0 \
-        libboost-filesystem1.71.0 \
-        libboost-program-options1.71.0 \
+        libblas3 \
+        libboost-filesystem1.74.0 \
+        libboost-program-options1.74.0 \
         libcairomm-1.0-1v5 \
-        libcasa-casa4 \
-        libcasa-fits4 \
-        libcasa-measures4 \
-        libcasa-ms4 \
-        libcasa-scimath4 \
-        libcasa-tables4 \
-        libcfitsio8 \
+        libcasa-casa6 \
+        libcasa-fits6 \
+        libcasa-measures6 \
+        libcasa-ms6 \
+        libcasa-scimath6 \
+        libcasa-tables6 \
+        libcfitsio9 \
         libfftw3-double3 \
         libfftw3-single3 \
+        libglib2.0-0 \
         libglibmm-2.4-1v5 \
         libgomp1 \
-        libgsl23 \
+        libgsl27 \
         libgtkmm-3.0-1v5 \
-        libhdf5-103 \
-        libhdf5-cpp-103 \
+        libhdf5-103-1 \
+        libhdf5-cpp-103-1 \
         liblapack3 \
         liblua5.3-0 \
         libpangomm-1.4-1v5 \
         libpng16-16 \
-        libpython3.8 \
+        libpython3.10 \
         libsigc++-2.0-0v5 \
         libstdc++6 \
         nodejs \
diff --git a/ci/ubuntu_20_04-rapthor b/ci/ubuntu_22_04-rapthor
similarity index 100%
rename from ci/ubuntu_20_04-rapthor
rename to ci/ubuntu_22_04-rapthor