diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e316b7859855e09aef50c2e77fda351d63e87157..71895e22d568c6d2bceb9ae5490dcb5225df9889 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -30,14 +30,15 @@ test_success:
   script:
   # Consider adding the cap and the device directly to the CI config
   # https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runners-docker-section
-    - docker run --cap-add SYS_ADMIN --device /dev/fuse ${TEST_IMAGE} ./reproduce.py release-1.2.10
+    # TODO replace alpha-1.4.3 with release version
+    - docker run --cap-add SYS_ADMIN --device /dev/fuse ${TEST_IMAGE} ./reproduce.py alpha-1.4.3
   except:
     - triggers
 
 test_failure:
   stage: test
   script:
-    - if docker run --cap-add SYS_ADMIN --device /dev/fuse ${TEST_IMAGE} ./reproduce.py release-1.0.13; then exit 1; else exit 0; fi
+    - if docker run --cap-add SYS_ADMIN --device /dev/fuse ${TEST_IMAGE} ./reproduce.py release-1.2.10; then exit 1; else exit 0; fi
   except:
     - triggers
 
diff --git a/Dockerfile b/Dockerfile
index c36c0ce75562e4ae8e0c78c8c6a4da6b09fe7e18..dc55722edb97869e014ff73bb0a6c19051f2c9a9 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM debian:buster
+FROM debian:bullseye-slim
 
 ENV LANG=C.UTF-8
 ENV DEBIAN_FRONTEND=noninteractive
diff --git a/install-dependencies-android.sh b/install-dependencies-android.sh
index b4b6abda9b9097840cc32b0d28b7d9b5e4320260..6e7db56ca075a5e53551c2b9e4f1d4021ae22891 100755
--- a/install-dependencies-android.sh
+++ b/install-dependencies-android.sh
@@ -3,11 +3,11 @@ set -e
 set -x
 
 # Install Android SDK Manager
-wget --no-verbose -O tools.zip https://dl.google.com/android/repository/tools_r25.2.4-linux.zip
-unzip tools.zip
-rm tools.zip
-mkdir ${ANDROID_HOME}
-mv tools ${ANDROID_HOME}/
+wget --no-verbose -O cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
+unzip cmdline-tools.zip
+rm cmdline-tools.zip
+mkdir -p ${ANDROID_HOME}/cmdline-tools
+mv cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest
 
 # Accept all those nasty EULAs
 mkdir -p ${ANDROID_HOME}/licenses/
@@ -18,4 +18,4 @@ printf "\n79120722343a6f314e0719f863036c702b0e6b2a\n84831b9409646a918e30573bab4c
 # Install platform-tools and ndk-bundle (for stripping libraries)
 mkdir /root/.android
 touch /root/.android/repositories.cfg
-echo y | $ANDROID_HOME/tools/bin/sdkmanager "platform-tools" "ndk-bundle"
+echo y | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platform-tools" "ndk-bundle"
diff --git a/install-dependencies.sh b/install-dependencies.sh
index 5df7e78f57793e51b036dee3eb1ffe1f208d4d01..f0d96e568332cb156ac56a59e60a3e2c4b678502 100755
--- a/install-dependencies.sh
+++ b/install-dependencies.sh
@@ -4,8 +4,9 @@ set -x
 
 apt-get install -y --no-install-recommends \
 	git \
-	openjdk-8-jdk-headless \
+	default-jdk-headless \
 	fuse \
 	disorderfs \
 	unzip \
+	curl \
 	wget
diff --git a/install.sh b/install.sh
index dad8ff10db02fb7e4e522cbf16315e81af86c710..5097b15d68643adbad8da6f6ead3f6755139d98e 100755
--- a/install.sh
+++ b/install.sh
@@ -3,26 +3,26 @@ set -e
 set -x
 
 # use snapshot repos for deterministic package versions
-DATE="20210312T000000Z"
+DATE="20211214T000000Z"
 cat << EOF > /etc/apt/sources.list
-deb http://snapshot.debian.org/archive/debian/${DATE}/ buster main
-deb http://snapshot.debian.org/archive/debian-security/${DATE}/ buster/updates main
+deb http://snapshot.debian.org/archive/debian/${DATE}/ bullseye main
+deb http://snapshot.debian.org/archive/debian-security/${DATE}/ bullseye-security main
 EOF
 
 # ignore expired package releases (they expire too fast)
 echo 'Acquire::Check-Valid-Until "0";' >> /etc/apt/apt.conf.d/10-ignore-expiry
 
-# allow OpenJDK 8 to be installed from the oldstable repo
-echo "deb http://snapshot.debian.org/archive/debian/${DATE}/ stretch main" >> /etc/apt/sources.list
+# do not install documentation to keep image small
+echo "path-exclude=/usr/share/locale/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc
+echo "path-exclude=/usr/share/man/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc
+echo "path-exclude=/usr/share/doc/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc
 
 # update package sources
 apt-get update
 apt-get -y upgrade
 
-# do not install documentation to keep image small
-echo "path-exclude=/usr/share/locale/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc
-echo "path-exclude=/usr/share/man/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc
-echo "path-exclude=/usr/share/doc/*" >> /etc/dpkg/dpkg.cfg.d/01_nodoc
+# install of default-jdk-headless fails otherwise on *-slim image
+mkdir -p /usr/share/man/man1
 
 # install dependencies
 ./install-dependencies.sh