diff --git a/wp-docker/Dockerfile b/wp-docker/Dockerfile
index 09559edac718f5656969a2e2ca004d9f2fe27472..1af3206cf009d4b75fb8689a50586617d03a5558 100644
--- a/wp-docker/Dockerfile
+++ b/wp-docker/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:7.3.31-apache-bullseye
+FROM php:8.0.11-apache-bullseye
 
 COPY install-php-extensions.sh .
 RUN chmod +x install-php-extensions.sh
diff --git a/wp-docker/install-php-extensions.sh b/wp-docker/install-php-extensions.sh
index 0d76de8c4cb04a2403b47f8dd9f835c1012c657d..8b71dc0aa8c8b96673b201e344c51368386cedad 100644
--- a/wp-docker/install-php-extensions.sh
+++ b/wp-docker/install-php-extensions.sh
@@ -2,18 +2,33 @@
 
 # install the PHP extensions (from the WP Dockerfile)
 set -ex;
-
 savedAptMark="$(apt-mark showmanual)";
 
 apt-get update;
 apt-get install -y --no-install-recommends \
+	libfreetype6-dev \
 	libjpeg-dev \
+	libmagickwand-dev \
 	libpng-dev \
-	libzip-dev \
-;
+	libwebp-dev \
+	libzip-dev;
 
-docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr;
-docker-php-ext-install gd mysqli opcache zip;
+docker-php-ext-configure gd \
+	--with-freetype \
+	--with-jpeg \
+	--with-webp \
+;
+docker-php-ext-install -j "$(nproc)" \
+	bcmath \
+	exif \
+	gd \
+	mysqli \
+	zip \
+;
+# https://pecl.php.net/package/imagick
+pecl install imagick-3.5.0;
+docker-php-ext-enable imagick;
+rm -r /tmp/pear;
 
 # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
 apt-mark auto '.*' > /dev/null;
@@ -24,7 +39,7 @@ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
 	| xargs -r dpkg-query -S \
 	| cut -d: -f1 \
 	| sort -u \
-	| xargs -rt apt-mark manual; \
+	| xargs -rt apt-mark manual;
 
 apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false;
 rm -rf /var/lib/apt/lists/*