diff --git a/unit-files/backup@.timer b/unit-files/backup@.timer
index 5908b7f48578a3082e6f93b609419053c91822bc..6692c3c1c229b121a0641b4321ef28c1dc2c4d08 100644
--- a/unit-files/backup@.timer
+++ b/unit-files/backup@.timer
@@ -1,6 +1,9 @@
 [Unit]
 Description=Hourly backup of www and mysql content to a git repo
 
+# Dependency binding
+BindsTo=web@%i.service
+
 [Timer]
 OnActiveSec=20
 OnUnitActiveSec=60min
diff --git a/unit-files/discovery@.service b/unit-files/discovery@.service
index fc3669305fe701c5ac5ea450782a229dd1e30099..fe95a19da58e9bd22011bf2478d9e57990510a0a 100644
--- a/unit-files/discovery@.service
+++ b/unit-files/discovery@.service
@@ -4,6 +4,9 @@ Description=%p for %i etcd registration
 # Requirements
 Requires=etcd.service
 
+# Dependency binding
+BindsTo=web@%i.service
+
 [Service]
 ExecStart=/bin/bash -c ' \
   sleep 30; \
diff --git a/unit-files/lamp@.service b/unit-files/lamp@.service
index e7e5954a4c63de171a456d5e4068b45032ba77a3..3ecc7a6a2ef9691423137fe3dbfe624bb2f0ab61 100644
--- a/unit-files/lamp@.service
+++ b/unit-files/lamp@.service
@@ -2,48 +2,27 @@
 Description=%p-%i
 
 # Requirements
-Requires=docker.service
 Requires=mysql@%i.service
-Requires=discovery@%i.service
-Requires=backup@%i.timer
+Requires=web@%i.service
 
 # Dependency ordering
-After=docker.service
 After=mysql@%i.service
-Before=discovery@%i.service
-Before=backup@%i.timer
+Before=web@%i.service
+
+# Dependency binding
+BindsTo=web@%i.service
 
 [Service]
-Restart=always
-ExecStartPre=cp /data/domains/%i/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem
-Type=notify
-NotifyAccess=all
+Type=oneshot
+RemainAfterExit=yes
 EnvironmentFile=/data/domains/%i/.env
-Environment=URL=%i
-ExecStartPre=/usr/bin/docker run --rm -v /opt/bin:/opt/bin ibuildthecloud/systemd-docker
-ExecStartPre=-/usr/bin/docker kill %i
-ExecStartPre=-/usr/bin/docker rm %i
-ExecStartPre=/bin/bash -euxc ' \
+ExecStart=/bin/bash -euxc ' \
   application_folder=/data/domains/%i/${APPLICATION}; \
   if [ ! -d $application_folder ]; then \
     mkdir -p $application_folder; \
     touch $application_folder/.htaccess; \
-  fi; \
-  cat /data/domains/%i/mysql/.env | sed s/MYSQL_PASS/DB_PASS/ > $application_folder/.env'
-
-ExecStart=/opt/bin/systemd-docker --env run \
-  --name %i \
-  --link mysql-%i:db \
-  -v /data/domains/%i/${APPLICATION}/data:${VOLUME} \
-  -v /data/domains/%i/${APPLICATION}/.htaccess:/app/.htaccess \
-  --env-file /data/domains/%i/${APPLICATION}/.env \
-  pierreozoux/${APPLICATION}
-ExecReload=/usr/bin/docker restart %i
-
-ExecStop=/bin/bash -euxc ' \
-  systemctl stop discovery@%i.service; \
-  systemctl stop backup@%i.timer; \
-  /usr/bin/docker stop %i;'
+    cat /data/domains/%i/mysql/.env | sed s/MYSQL_PASS/DB_PASS/ > $application_folder/.env; \
+  fi;'
 
 [Install]
 WantedBy=multi-user.target
diff --git a/unit-files/mysql@.service b/unit-files/mysql@.service
index 0f3b3a1f9548f1472c6002ff0be8505c516fa305..25cbe2b60d3972374ae764226f7f0fdc0e94d461 100644
--- a/unit-files/mysql@.service
+++ b/unit-files/mysql@.service
@@ -6,7 +6,6 @@ Requires=docker.service
 
 # Dependency ordering
 After=docker.service
-After=init@%i.service
 Before=backup@%i.timer
 
 # Dependency binding
diff --git a/unit-files/static@.service b/unit-files/static@.service
index 7c6d3fee9724a76c1dc1bca745bb16467838fb4b..12be287575fe16fedf307b9b102c21516d177112 100644
--- a/unit-files/static@.service
+++ b/unit-files/static@.service
@@ -2,40 +2,19 @@
 Description=%p-%i
 
 # Requirements
-Requires=docker.service
-Requires=discovery@%i.service
-Requires=backup@%i.timer
+Requires=web@%i.service
 
 # Dependency ordering
-After=docker.service
-Before=discovery@%i.service
-Before=backup@%i.timer
+Before=web@%i.service
 
 [Service]
-Restart=always
-ExecStartPre=cp /data/domains/%i/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem
-ExecStartPre=-/usr/bin/docker kill %i
-ExecStartPre=-/usr/bin/docker rm %i
-ExecStartPre=/bin/bash -euxc ' \
+ExecStart=/bin/bash -euxc ' \
   application_folder=/data/domains/%i/%p/www-content; \
   if [ ! -d $application_folder ]; then \
     mkdir -p $application_folder; \
     echo Hello %i > $application_folder/index.html; \
   fi'
 
-ExecStart=/usr/bin/docker run \
-  --name %i \
-  -v /data/domains/%i/%p/www-content:/app \
-  pierreozoux/nginx
-ExecReload=/bin/bash -euxc ' \
-  /usr/bin/docker restart %i; \
-  systemctl restart discovery@%i.service; \
-  systemctl restart backup@%i.timer;'
-ExecStop=/bin/bash -euxc ' \
-  systemctl stop discovery@%i.service; \
-  systemctl stop backup@%i.timer; \
-  /usr/bin/docker stop %i;'
-
 [Install]
 WantedBy=multi-user.target
 
diff --git a/unit-files/web@.service b/unit-files/web@.service
new file mode 100644
index 0000000000000000000000000000000000000000..daebddffee57b2b9283a5d34e12e6dd4e3987909
--- /dev/null
+++ b/unit-files/web@.service
@@ -0,0 +1,32 @@
+[Unit]
+Description=%p-%i
+
+# Requirements
+Requires=docker.service
+Requires=discovery@%i.service
+Requires=backup@%i.timer
+
+# Dependency ordering
+After=docker.service
+Before=discovery@%i.service
+Before=backup@%i.timer
+
+[Service]
+Restart=always
+Type=notify
+NotifyAccess=all
+EnvironmentFile=/data/domains/%i/.env
+Environment=URL=%i
+ExecStartPre=/usr/bin/docker run --rm -v /opt/bin:/opt/bin ibuildthecloud/systemd-docker
+ExecStartPre=-/usr/bin/docker kill %i
+ExecStartPre=-/usr/bin/docker rm %i
+ExecStartPre=/bin/cp /data/domains/%i/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem
+ExecStart=/bin/bash -euxc ' \
+  /opt/bin/systemd-docker --env run \
+    --rm \
+    --name %i \
+    ${DOCKER_ARGUMENTS} \
+    pierreozoux/${APPLICATION}'
+ExecReload=/usr/bin/docker restart %i
+ExecStop=/usr/bin/docker stop %i
+