diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d97565e9e8bc0b72717a9322759fe93a5387bea9..717200790579c32dd4c54b7fe3512913eb2304c7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-image: studip/studip:tests-php8.2
+image: studip/studip:tests-php8.3
 
 variables:
   FF_NETWORK_PER_BUILD: 1
diff --git a/docker/build_images.sh b/docker/build_images.sh
old mode 100644
new mode 100755
index f8feb9f9a592eef0fceeecfd8bbfff85d33f592e..c5f32f4a9985704ffce2ce271af9b6b408e88b59
--- a/docker/build_images.sh
+++ b/docker/build_images.sh
@@ -9,6 +9,7 @@ build_image () {
   fi
 }
 
+build_image tests/php83 studip:tests-php8.3 &
 build_image tests/php82 studip:tests-php8.2 &
 build_image tests/php74 studip:tests-php7.4 &
 build_image release-cli release-cli &
diff --git a/docker/tests/php74/Dockerfile b/docker/tests/php74/Dockerfile
index 49149a956bf52a371ec61a3e7b4f88ce6236a730..b982414bca7244cc60664b510e09020167f0bc96 100644
--- a/docker/tests/php74/Dockerfile
+++ b/docker/tests/php74/Dockerfile
@@ -7,10 +7,11 @@ RUN apt update && apt install -y  --no-install-recommends \
     lsb-release \
     zip \
     tar \
+    libwebp-dev \
     && rm -rf /var/lib/apt/lists/*
 
 # Install php extensions
-RUN docker-php-ext-configure gd --with-jpeg
+RUN docker-php-ext-configure gd --with-jpeg --with-webp
 RUN docker-php-ext-install pdo gettext curl gd mbstring zip pdo pdo_mysql mysqli intl json
 
 # Install npm using nvm
diff --git a/docker/tests/php82/Dockerfile b/docker/tests/php82/Dockerfile
index f1a5793af72070933718a9bfe4e9f543a9c46597..27ffb6484afa8db02274f18ca029170b716df3f5 100644
--- a/docker/tests/php82/Dockerfile
+++ b/docker/tests/php82/Dockerfile
@@ -7,10 +7,11 @@ RUN apt update && apt install -y  --no-install-recommends \
     lsb-release \
     zip \
     tar \
+    libwebp-dev \
     && rm -rf /var/lib/apt/lists/*
 
 # Install php extensions
-RUN docker-php-ext-configure gd --with-jpeg=/usr/include/
+RUN docker-php-ext-configure gd --with-jpeg=/usr/include/ --with-webp
 RUN docker-php-ext-install -j$(nproc) pdo gettext curl gd mbstring zip pdo pdo_mysql mysqli intl
 
 # Install npm using nvm
diff --git a/docker/tests/php83/Dockerfile b/docker/tests/php83/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..a25e83095ab1d3adce9c4e51c11e3628995ab1f9
--- /dev/null
+++ b/docker/tests/php83/Dockerfile
@@ -0,0 +1,24 @@
+# Setup php, apache and stud.ip
+FROM php:8.3-cli
+
+# Install system requirements
+RUN apt update && apt install -y  --no-install-recommends \
+    default-mysql-client default-libmysqlclient-dev libcurl4-openssl-dev zlib1g-dev libpng-dev libjpeg-dev libonig-dev libzip-dev libicu-dev \
+    lsb-release \
+    zip \
+    tar \
+    libwebp-dev \
+    && rm -rf /var/lib/apt/lists/*
+
+# Install php extensions
+RUN docker-php-ext-configure gd --with-jpeg=/usr/include/ --with-webp
+RUN docker-php-ext-install -j$(nproc) pdo gettext curl gd mbstring zip pdo pdo_mysql mysqli intl
+
+# Install npm using nvm
+RUN curl -sL https://deb.nodesource.com/setup_16.x | bash -
+RUN apt update && apt install -y --no-install-recommends nodejs \
+        curl apt-transport-https ca-certificates gnupg unzip git \
+    && rm -rf /var/lib/apt/lists/*
+
+# Install composer
+COPY --from=composer /usr/bin/composer /usr/bin/composer