diff --git a/tests/clean-image.sh b/tests/clean-image.sh
deleted file mode 100755
index fd7e536bc19ab439ac57674305e851de58f79e9f..0000000000000000000000000000000000000000
--- a/tests/clean-image.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash -eux
-
-image=$1
-if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then
-  systemctl stop lamp@$image.test
-  sleep 11
-else
-  systemctl stop $image@$image.test
-fi
-
-systemctl list-units | grep -c "$image\.test" | grep 0
-rm -rf /data/import/$image.test
-rm -rf /data/runtime/domains/$image.test
-rm -rf /data/domains/$image.test
-systemctl stop *@$image.test.timer
-systemctl stop *@$image.test
-systemctl reset-failed
-if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then
-  systemctl disable lamp@$image.test
-else
-  systemctl disable $image@$image.test
-fi
-systemctl list-units | grep -c "$image\.test" | grep 0
diff --git a/tests/clean.sh b/tests/clean.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7311559154c549d6555dad5bfc553b56363a09d2
--- /dev/null
+++ b/tests/clean.sh
@@ -0,0 +1,13 @@
+#!/bin/bash -eux
+source /etc/environment
+image=$1
+
+systemctl stop web@$image.test
+
+systemctl list-units | grep -c "$image\.test" | grep 0
+
+rm -rf /data/runtime/domains/$image.test
+rm -rf /data/domains/$image.test
+
+ssh $BACKUP_DESTINATION "rm -rf $image.test"
+
diff --git a/tests/deep-clean.sh b/tests/deep-clean.sh
deleted file mode 100755
index be59469d302bc0d2de2267a4e3d8c78e33dd1b09..0000000000000000000000000000000000000000
--- a/tests/deep-clean.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash -eux
-
-image=$1
-BACKUP_DESTINATION=`cat /data/BACKUP_DESTINATION`
-
-/data/indiehosters/tests/clean-image.sh $image
-
-ssh $BACKUP_DESTINATION "rm -rf $image.test"
diff --git a/tests/finish.sh b/tests/finish.sh
index 245b60dff67edc5bae9f5a2c00ddce4155cb5d0b..70f779f38c8dfdec9474d0ffe22df39ac3f52cc2 100755
--- a/tests/finish.sh
+++ b/tests/finish.sh
@@ -2,10 +2,9 @@
 
 systemctl list-units | grep -c failed | grep 0
 
-applications=( static static-git wordpress known)
+applications=( static wordpress known )
 
 for application in "${applications[@]}"
 do
-  /data/indiehosters/tests/test-image.sh $application
-  /data/indiehosters/tests/deep-clean.sh $application
+  /data/indiehosters/tests/clean.sh $application
 done
diff --git a/tests/force-clean.sh b/tests/force-clean.sh
new file mode 100755
index 0000000000000000000000000000000000000000..f24f2ff8eda86803bdf0dcf64e554c2491279dd2
--- /dev/null
+++ b/tests/force-clean.sh
@@ -0,0 +1,19 @@
+#!/bin/bash -eux
+source /etc/environment
+
+image=$1
+systemctl stop web@$image.test
+if [ "$image" == "static" ]; then
+  systemctl disable $image@$image.test
+else
+  systemctl disable lamp@$image.test
+fi
+
+systemctl stop *@$image.test.timer
+systemctl stop *@$image.test
+systemctl reset-failed
+rm -rf /data/runtime/domains/$image.test
+rm -rf /data/domains/$image.test
+ssh $BACKUP_DESTINATION "rm -rf $image.test"
+systemctl list-units | grep "$image\.test"
+
diff --git a/tests/image.sh b/tests/image.sh
deleted file mode 100755
index 35f9c4e6493e5f26947d5e697d4f0a6df899334f..0000000000000000000000000000000000000000
--- a/tests/image.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash -eux
-
-cp /data/indiehosters/unit-files/* /etc/systemd/system && sudo systemctl daemon-reload
-
-image=$1
-
-# prepare data
-mkdir -p /data/import/$image.test/TLS
-cp /data/indiehosters/scripts/unsecure-certs/example.dev.pem /data/import/$image.test/TLS/$image.test.pem
-echo "APPLICATION=$image" > /data/import/$image.test/.env
-if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then
-  echo "VOLUME=$(cat /data/indiehosters/dockerfiles/services/$image/VOLUME)" >> /data/import/$image.test/.env
-  echo "EMAIL=test@test.org" >> /data/import/$image.test/.env
-fi
-
-# start image from import
-if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then
-  systemctl start lamp@$image.test
-else
-  systemctl start $image@$image.test
-fi
-
-# tests
-/data/indiehosters/tests/test-image.sh $image
-
-# start image from backup
-## make sure to backup first
-systemctl start backup@$image.test
-/data/indiehosters/tests/clean-image.sh $image
-if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then
-  systemctl enable lamp@$image.test
-  systemctl start lamp@$image.test
-else
-  systemctl enable $image@$image.test
-  systemctl start $image@$image.test
-fi
-
-# tests
-/data/indiehosters/tests/test-image.sh $image
diff --git a/tests/start.sh b/tests/start.sh
index c1bb4e26f96dbf3113b462a3a2b61229c96a1069..1a574411651abea5d569c75b8795875c7ffbbd43 100755
--- a/tests/start.sh
+++ b/tests/start.sh
@@ -1,8 +1,8 @@
 #!/bin/bash -eux
 
-applications=( static wordpress known)
+applications=( static wordpress known )
 
 for application in "${applications[@]}"
 do
-  /data/indiehosters/tests/image.sh $application
+  /data/indiehosters/tests/test.sh $application
 done
diff --git a/tests/test-image.sh b/tests/test-image.sh
deleted file mode 100755
index 40b378696d1e5b4309f416aac95fcdbd4c35a5d4..0000000000000000000000000000000000000000
--- a/tests/test-image.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash -eux
-
-image=$1
-
-if [ "$image" == "wordpress" ] || [ "$image" == "known" ]; then
-  sleep 70
-else
-  sleep 10
-fi
-
-systemctl list-units | grep "$image\.test" | grep -c failed | grep 0
-ip=`docker inspect --format {{.NetworkSettings.IPAddress}} $image.test`
-curl -L $ip
diff --git a/tests/test.sh b/tests/test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..a2bb0fe992ea0624aebd1ba63bb99692b6f206cc
--- /dev/null
+++ b/tests/test.sh
@@ -0,0 +1,47 @@
+#!/bin/bash -eux
+
+cp /data/indiehosters/unit-files/* /etc/systemd/system && sudo systemctl daemon-reload
+
+image=$1
+
+# prepare data
+folder=/data/domains/$image.test
+mkdir -p ${folder}/TLS
+cp /data/indiehosters/scripts/unsecure-certs/example.dev.pem ${folder}/TLS/$image.test.pem
+
+echo "EMAIL=test@test.org" > ${folder}/.env
+
+case "$image" in
+"static" )
+  echo "APPLICATION=nginx" >> ${folder}/.env
+  echo 'DOCKER_ARGUMENTS="-v /data/domains/static.test/static/www-content:/app"' >> ${folder}/.env
+  ;;
+"wordpress" )
+  echo "APPLICATION=$image" >> ${folder}/.env
+  echo 'DOCKER_ARGUMENTS="--link mysql-wordpress.test:db \
+  -v /data/domains/wordpress.test/wordpress/data:/app/wp-content \
+  -v /data/domains/wordpress.test/wordpress/.htaccess:/app/.htaccess \
+  --env-file /data/domains/wordpress.test/wordpress/.env"' >> ${folder}/.env
+  ;;
+"known" )
+  echo "APPLICATION=$image" >> ${folder}/.env
+  echo 'DOCKER_ARGUMENTS="--link mysql-known.test:db \
+  -v /data/domains/known.test/known/data:/app/Uploads \
+  -v /data/domains/known.test/known/.htaccess:/app/.htaccess \
+  --env-file /data/domains/known.test/known/.env"' >> ${folder}/.env
+  ;;
+esac
+
+if [ "$image" == "static" ]; then
+  systemctl start $image@$image.test
+  systemctl enable $image@$image.test
+else
+  systemctl start lamp@$image.test
+  systemctl enable lamp@$image.test
+fi
+sleep 20
+
+systemctl list-units | grep "$image\.test" | grep -c failed | grep 0
+ip=`docker inspect --format {{.NetworkSettings.IPAddress}} $image.test`
+curl -L $ip
+