diff --git a/Dockerfile b/Dockerfile
index 81af0180a69124cc6df8b30fd969336e524e3993..84d60518bd822cb09d1be284a1d45de7dc3d086b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -19,12 +19,19 @@ RUN android-sdk-linux/tools/bin/sdkmanager \
 FROM ubuntu:focal
 COPY --from=builder /android-sdk-linux /android-sdk-linux
 
-ADD src/fdroid.list /etc/apt/sources.list.d/fdroid.list
-ADD src/fdroid.asc /usr/share/keyrings/fdroid.asc
 RUN apt-get update && \
-    DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install --no-install-recommends python3-pip python3-wheel python3-setuptools fdroidserver && \
-    rm -rf /var/lib/apt/lists/* && \
-    pip3 install s3cmd
+    DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install --no-install-recommends \
+    git python3-pip python3-wheel python3-setuptools python3-venv tzdata && \
+    apt-get install -y --no-install-recommends $(apt-cache depends fdroidserver | grep -Fv -e java -e jdk -e '<' | awk '/Depends:/{print$2}') && \
+    rm -rf /var/lib/apt/lists/*
+
+RUN pip3 install --upgrade babel pip setuptools s3cmd
+
+RUN git clone --depth 1 https://gitlab.com/fdroid/fdroidserver.git \
+    && cd fdroidserver \
+    && pip3 install --no-binary python-vagrant -e . \
+    && python3 setup.py compile_catalog build \
+    && python3 setup.py install
 
 ADD src/update_repo.sh /
 
diff --git a/src/update_repo.sh b/src/update_repo.sh
index a5c144458cc5f5715d00e0e51566597d4752097e..9c218addcd92b8380d39605ac2968de0e8d51cb6 100755
--- a/src/update_repo.sh
+++ b/src/update_repo.sh
@@ -15,9 +15,9 @@ while true; do
   rsync -rctv --exclude=".*" $GIT_PATH/ $WORKDIR/
   s3cmd sync --preserve s3://releases/quasseldroid-ng/ $S3_PATH/
   rsync -rctv $S3_PATH/*-release.apk $REPO_PATH/
-  fdroid update --use-date-from-apk
-  fdroid signindex
-  fdroid deploy
+  /fdroidserver/fdroid update --use-date-from-apk
+  /fdroidserver/fdroid signindex
+  /fdroidserver/fdroid deploy
   rsync -rctv $REPO_PATH/ $TARGET_PATH/
   sleep $UPDATE_WAIT
 done