diff --git a/.ratignore b/.ratignore
index d46e96082..eac248aac 100644
--- a/.ratignore
+++ b/.ratignore
@@ -2,3 +2,4 @@
CONTRIBUTING
doc/licenses/*/**/*
doc/**/html/*.html
+guacamole-docker/*.pref
diff --git a/Dockerfile b/Dockerfile
index 586cf4136..ba540274c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -28,10 +28,21 @@ ARG TOMCAT_VERSION=8.5
ARG TOMCAT_JRE=jdk8
# Use official maven image for the build
-FROM maven:3-jdk-8 AS builder
+FROM maven:3-eclipse-temurin-8-focal AS builder
+
+# Use Mozilla's Firefox PPA (newer Ubuntu lacks a "firefox-esr" package and
+# provides only a transitional "firefox" package that actually requires Snap
+# and thus can't be used within Docker)
+RUN apt-get update \
+ && apt-get upgrade -y \
+ && apt-get install -y software-properties-common \
+ && add-apt-repository -y ppa:mozillateam/ppa
+
+# Explicitly prefer packages from the Firefox PPA
+COPY guacamole-docker/mozilla-firefox.pref /etc/apt/preferences.d/
# Install firefox browser for sake of JavaScript unit tests
-RUN apt-get update && apt-get install -y firefox-esr
+RUN apt-get update && apt-get install -y firefox
# Arbitrary arguments that can be passed to the maven build. By default, an
# argument will be provided to explicitly unskip any skipped tests. To, for
diff --git a/guacamole-docker/mozilla-firefox.pref b/guacamole-docker/mozilla-firefox.pref
new file mode 100644
index 000000000..f85404441
--- /dev/null
+++ b/guacamole-docker/mozilla-firefox.pref
@@ -0,0 +1,3 @@
+Package: *
+Pin: release o=LP-PPA-mozillateam
+Pin-Priority: 1001
diff --git a/pom.xml b/pom.xml
index fa3891b98..210ba9212 100644
--- a/pom.xml
+++ b/pom.xml
@@ -248,6 +248,13 @@
com.github.buckelieg
minify-maven-plugin
2.0.1
+
+
+ org.codehaus.plexus
+ plexus-utils
+ 3.5.1
+
+