diff --git a/Dockerfile b/Dockerfile
index 600042df66ccfb5758902235f22728149d536c05..7619e3b4472b0879dc6edda300e71901b7c6dafe 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,9 +1,17 @@
 FROM registry.gitlab.com/fdroid/docker-executable-fdroidserver:latest
 
-RUN apt-get update && apt-get -y install python-pip
+RUN apt-get update && \
+    apt-get -y install --no-install-recommends \
+      python-pip \
+      python-wheel \
+      python-setuptools \
+      apksigner
 
 RUN pip install s3cmd
 
 ADD update_repo.sh /
+ADD Makefile /
+
+ENV UPDATE_WAIT=10
 
 ENTRYPOINT [ "/update_repo.sh" ]
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..b8e12a08271a9d2567d84b76d454b04766cf7190
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,11 @@
+.PHONY: build
+$(REPO_PATH)/index.jar: $(REPO_PATH)
+	fdroid update --use-date-from-apk
+	fdroid server update
+
+$(REPO_PATH): s3
+	rsync -rlpcgoDv $(S3_PATH)/*-release.apk $(REPO_PATH)/
+
+.PHONY: s3
+s3:
+	s3cmd sync --preserve s3://releases/quasseldroid-ng/ $(S3_PATH)/
diff --git a/build.sh b/build.sh
index f85ac186749dc222cb789af63d9d237577ca7be3..e501902293c8a8cb6a67b88aedc38935f8f32de4 100755
--- a/build.sh
+++ b/build.sh
@@ -2,8 +2,6 @@
 IMAGE=k8r.eu/justjanne/fdroid-repo
 TAGS=$(git describe --always --tags HEAD)
 
-docker build -t $IMAGE:$TAGS .
+docker build --pull -t $IMAGE:$TAGS .
 docker tag $IMAGE:$TAGS $IMAGE:latest
 echo Successfully tagged $IMAGE:latest
-docker push $IMAGE:$TAGS
-docker push $IMAGE:latest
diff --git a/push.sh b/push.sh
new file mode 100755
index 0000000000000000000000000000000000000000..0e9fef09900b2eeb0d271e197e86ae275f778772
--- /dev/null
+++ b/push.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+IMAGE=k8r.eu/justjanne/fdroid-repo
+TAGS=$(git describe --always --tags HEAD)
+
+docker push $IMAGE:$TAGS
+docker push $IMAGE:latest
+echo Successfully pushed $IMAGE:$TAGS as $IMAGE:latest
diff --git a/update_repo.sh b/update_repo.sh
index 2fc67325897d5596acd0f9f9b1da2ba703bbebe4..615333eb70cf5ee62b181dfbc6337e6754635655 100755
--- a/update_repo.sh
+++ b/update_repo.sh
@@ -1,11 +1,15 @@
 #!/bin/sh
 SOURCE_PATH=/tmp/fdroid
+REPO_PATH=$SOURCE_PATH/repo/
+S3_PATH=$SOURCE_PATH/s3/
+
+mkdir -p $SOURCE_PATH/
+cp /Makefile $SOURCE_PATH/
 
 cd $SOURCE_PATH
-mkdir -p $SOURCE_PATH/repo/
+mkdir -p $REPO_PATH
+mkdir -p $S3_PATH
 while true; do
-  s3cmd sync --preserve $APP $SOURCE_PATH/repo/
-  rm -rf $SOURCE_PATH/repo/*-latest.apk
-  fdroid update && fdroid server update
+  make
   sleep $UPDATE_WAIT
 done