diff --git a/scripts/backup-init.sh b/scripts/backup-init.sh
index a4b6625c1b49ebfb55854753f9550183fd361400..f842e6cb285973910b0e3014919389a0cc0160f3 100755
--- a/scripts/backup-init.sh
+++ b/scripts/backup-init.sh
@@ -3,18 +3,22 @@
 BACKUP_DESTINATION=`cat /data/BACKUP_DESTINATION`
 
 echo "Intitializing backups with $BACKUP_DESTINATION"
-if [ ! -d /data/domains/$DOMAIN ]; then
-  ssh $BACKUP_DESTINATION " \
-    if [ ! -d $DOMAIN ]; then \
+if [ ! -d /data/domains/$DOMAIN/.git ]; then
+  if [ `ssh $BACKUP_DESTINATION "test -d $DOMAIN"; echo $?` -eq 0 ]; then # git repo exists on the backup server
+    git clone $BACKUP_DESTINATION:$DOMAIN /data/domains/$DOMAIN
+    cd /data/domains/$DOMAIN
+  else
+    ssh $BACKUP_DESTINATION " \
       mkdir -p $DOMAIN; \
       cd $DOMAIN; \
-      git init --bare; \
-    else
-      echo \"Git folder already present\"
-    fi"
-  git clone $BACKUP_DESTINATION:$DOMAIN /data/domains/$DOMAIN
-  cd /data/domains/$DOMAIN
+      git init --bare;"
+    if [ ! -d /data/domains/$DOMAIN ]; then
+      mkdir /data/domains/$DOMAIN
+    fi
+    cd /data/domains/$DOMAIN
+    git init
+    git remote add origin $BACKUP_DESTINATION:$DOMAIN
+  fi
   git config --local user.email "backups@`hostname`"
   git config --local user.name "`hostname` hourly backups"
-  git config --local push.default simple
 fi
diff --git a/scripts/import.sh b/scripts/import.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c765ec4c8710b8532966a172f2f35c8d9359c9ba
--- /dev/null
+++ b/scripts/import.sh
@@ -0,0 +1,6 @@
+#!/bin/bash -eux
+
+if [ -d /data/import/$DOMAIN ]; then
+  cp -r /data/import/$DOMAIN/* /data/domains/$DOMAIN;
+  rm -rf /data/import/$DOMAIN;
+fi
diff --git a/scripts/setup.sh b/scripts/setup.sh
index d2d0c5ad3a8429089e59f46bd6c507b098b6a76b..eca35146cdb79d8d0ac2954ec8d29590e55bacfc 100755
--- a/scripts/setup.sh
+++ b/scripts/setup.sh
@@ -24,8 +24,13 @@ docker pull indiehosters/wordpress
 cp /data/indiehosters/unit-files/* /etc/systemd/system
 systemctl daemon-reload
 
-# Configure and start HAproxy
+# Create Directory structure
+mkdir -p /data/domains
+mkdir -p /data/import
 mkdir -p /data/runtime/haproxy/approved-certs
+mkdir -p /data/runtime/postfix
+
+# Configure and start HAproxy
 cp /data/indiehosters/scripts/unsecure-certs/indiehosters.dev.pem /data/runtime/haproxy/approved-certs/default.pem
 systemctl enable haproxy-confd.service
 systemctl start  haproxy-confd.service
@@ -33,10 +38,12 @@ systemctl enable haproxy.path
 systemctl start  haproxy.path
 
 # Configure and start postfix
-mkdir -p /data/runtime/postfix
 touch /data/runtime/postfix/hostname
 touch /data/runtime/postfix/destinations
 touch /data/runtime/postfix/forwards
 
 systemctl enable postfix.service
 systemctl start  postfix.service
+
+# Adds backup ssh key to the list of known hosts
+ssh -o StrictHostKeyChecking=no `cat /data/BACKUP_DESTINATION` "exit"
diff --git a/unit-files/backup@.service b/unit-files/backup@.service
index 14d3408704e3ae559aee831f46a169b6918ea97f..69260b57d95874f815ba9c1af2037882af1fa795 100644
--- a/unit-files/backup@.service
+++ b/unit-files/backup@.service
@@ -3,29 +3,28 @@ Description=Back up domain data to a git repo and push it out
 
 [Service]
 Type=oneshot
-Environment=DOMAIN=%i
 ExecStartPre=/bin/bash -euxc ' \
-  if [ -e /data/domains/$DOMAIN/mysql ]; then \
-    echo "Backing up mysql databases for $DOMAIN"; \
+  if [ -d /data/domains/%i/mysql ]; then \
+    echo "Backing up mysql databases for %i"; \
+    mysql_passwd=`cat /data/domains/%i/mysql/.env | cut -d= -f2`; \
     /usr/bin/docker run \
-      --link mysql-$DOMAIN:db \
-      --env-file /data/domains/$DOMAIN/mysql/.env \
+      --link mysql-%i:db \
+      --env-file /data/domains/%i/mysql/.env \
       indiehosters/mysql \
         mysqldump \
           --all-databases \
           --events \
           -u admin \
-          -p$(cat /data/domains/$DOMAIN/mysql/.env | cut -d'=' -f2) \
-          -h db \
-          > /data/domains/$DOMAIN/mysql/dump.sql; \
+          -p$mysql_passwd \
+          -h db > /data/domains/%i/mysql/dump.sql; \
   fi'
 
 ExecStart=/bin/bash -euxc ' \
   echo "Committing everything"; \
-  cd /data/domains/$DOMAIN/; \
+  cd /data/domains/%i/; \
   git add *; \
   git status; \
-  git commit -m"backup $DOMAIN @ `hostname` - `date`"; \
+  git commit --allow-empty -m"backup %i @ `hostname` - `date`"; \
   # be careful: hidden sync functionnality; \
   git pull --rebase; \
-  git push'
+  git push origin master'
diff --git a/unit-files/backup@.timer b/unit-files/backup@.timer
index 7a91ced3d66aea734ccf0d0c2e18d7414da22a64..9d875f8e621ecc97c695e7080062ff904b3965af 100644
--- a/unit-files/backup@.timer
+++ b/unit-files/backup@.timer
@@ -2,7 +2,8 @@
 Description=Hourly backup of www and mysql content to a git repo
 
 [Timer]
-OnUnitActiveSec=1h
+OnActiveSec=0
+OnUnitActiveSec=10min
 
 [Install]
 WantedBy=timers.target
diff --git a/unit-files/mysql-importer@.service b/unit-files/mysql-importer@.service
index 6ee70fdba8f3a80cb2ee0643265798c1fda1e567..bdcee54992b31a78b3c5c3539f3a4968ad810d72 100644
--- a/unit-files/mysql-importer@.service
+++ b/unit-files/mysql-importer@.service
@@ -11,13 +11,18 @@ BindsTo=mysql@%i.service
 Type=oneshot
 RemainAfterExit=yes
 ExecStart=/bin/bash -euxc ' \
-  folder=/data/domains/%i/mysql; \
-  if [ ! -d $folder ]; then \
-    mkdir -p $folder; \
+  mysql_folder=/data/domains/%i/mysql; \
+  if [ ! -d $mysql_folder ]; then \
+    mkdir -p $mysql_folder; \
     pass=`echo $RANDOM  ${date} | md5sum | base64 | cut -c-10`; \
-    echo MYSQL_PASS=$pass > $folder/.env; \
+    echo MYSQL_PASS=$pass > $mysql_folder/.env; \
   fi; \
-  mkdir -p /data/runtime/domains/%i/mysql/db_files'
+  if [ -f $mysql_folder/dump.sql ]; then \
+    echo develop import mysql feature; \
+    exit 1; \
+  else \
+    mkdir -p /data/runtime/domains/%i/mysql/db_files; \
+  fi'
 
 [Install]
 WantedBy=mysql@%i.service
diff --git a/unit-files/static-git-importer@.service b/unit-files/static-git-importer@.service
index 74fbb3b097af18e0ee44cde8650fdb48cd894d2a..9ebdb3d891111538a9eaccf1b9f38bd01920a04f 100644
--- a/unit-files/static-git-importer@.service
+++ b/unit-files/static-git-importer@.service
@@ -10,18 +10,13 @@ Type=oneshot
 RemainAfterExit=yes
 Environment=DOMAIN=%i
 ExecStartPre=/data/indiehosters/scripts/backup-init.sh
+ExecStartPre=/data/indiehosters/scripts/import.sh
 ExecStart=/bin/bash -euxc ' \
-  domain_folder=/data/domains/%i; \
-  if [ -f /data/import/%i.pem ]; then \
-    mkdir -p $domain_folder/TLS; \
-    mv /data/import/%i.pem $domain_folder/TLS; \
-  fi; \
-  cp $domain_folder/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem; \
-  runtime_folder=/data/runtime/domains/%i/static-git; \
-  mkdir -p $runtime_folder; \
-  git_folder=$runtime_folder/www-content; \
-  if [ ! -d $git_folder/.git ]; then \
-    git clone `cat $domain_folder/static-git/GITURL` $git_folder; \
+  cp /data/domains/%i/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem; \
+  git_folder=/data/runtime/domains/%i/static-git; \
+  if [ ! -d $git_folder/www-content/.git ]; then \
+    mkdir -p $git_folder; \
+    git clone `cat /data/domains/%i/static-git/GITURL` $git_folder/www-content; \
   fi;'
 
 [Install]
diff --git a/unit-files/static-importer@.service b/unit-files/static-importer@.service
index d73c59a3f130749a44d74f7da05853ebad8f5a17..ee1b69564e9825ecdc52395f203f045fb72ee94e 100644
--- a/unit-files/static-importer@.service
+++ b/unit-files/static-importer@.service
@@ -10,17 +10,13 @@ Type=oneshot
 RemainAfterExit=yes
 Environment=DOMAIN=%i
 ExecStartPre=/data/indiehosters/scripts/backup-init.sh
+ExecStartPre=/data/indiehosters/scripts/import.sh
 ExecStart=/bin/bash -euxc ' \
-  domain_folder=/data/domains/%i; \
-  if [ -f /data/import/%i.pem ]; then \
-    mkdir -p $domain_folder/TLS; \
-    mv /data/import/%i.pem $domain_folder/TLS; \
-  fi; \
-  cp $domain_folder/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem; \
-  folder=$domain_folder/static/www-content; \
-  mkdir -p $folder; \
-  if [ ! -f $folder/index.html ]; then \
-    echo Hello %i > $folder/index.html; \
+  cp /data/domains/%i/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem; \
+  static_folder=/data/domains/%i/static/www-content; \
+  if [ ! -f $static_folder/index.html ]; then \
+    mkdir -p $static_folder; \
+    echo Hello %i > $static_folder/index.html; \
   fi;'
 
 [Install]
diff --git a/unit-files/wordpress-importer@.service b/unit-files/wordpress-importer@.service
index 29b38e873d7f31c0193017ab21824d5a3b0a70d4..98166d378f9a2affcbff6d5987763222d66ea8f1 100644
--- a/unit-files/wordpress-importer@.service
+++ b/unit-files/wordpress-importer@.service
@@ -14,20 +14,17 @@ Type=oneshot
 RemainAfterExit=yes
 Environment=DOMAIN=%i
 ExecStartPre=/data/indiehosters/scripts/backup-init.sh
+ExecStartPre=/data/indiehosters/scripts/import.sh
 ExecStart=/bin/bash -euxc ' \
-  domain_folder=/data/domains/%i; \
-  if [ -f /data/import/%i.pem ]; then \
-    mkdir -p $domain_folder/TLS; \
-    mv /data/import/%i.pem $domain_folder/TLS; \
-  fi; \
-  cp $domain_folder/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem; \
-  if [ ! -d $domain_folder/wordpress/wp-content ]; then \
-    mkdir -p $domain_folder/wordpress/; \
-    cd $domain_folder/wordpress/; \
+  cp /data/domains/%i/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem; \
+  wordpress_folder=/data/domains/%i/wordpress; \
+  if [ ! -d $wordpress_folder/wp-content ]; then \
+    mkdir -p $wordpress_folder; \
+    cd $wordpress_folder; \
     tar xvzf /data/indiehosters/blueprints/wordpress.tgz; \
+    touch .htaccess; \
   fi; \
-  cat $domain_folder/mysql/.env | sed s/MYSQL_PASS/DB_PASS/ > $domain_folder/wordpress/.env'
-
+  cat /data/domains/%i/mysql/.env | sed s/MYSQL_PASS/DB_PASS/ > $wordpress_folder/.env'
 
 [Install]
 WantedBy=wordpress@%i.service
diff --git a/unit-files/wordpress@.service b/unit-files/wordpress@.service
index 69a61114753143f8899ac46ace0c48593ed28c4c..77dd776f6b3dbc65a1ae03fefa3e8922b6f0c5dc 100644
--- a/unit-files/wordpress@.service
+++ b/unit-files/wordpress@.service
@@ -22,8 +22,8 @@ ExecStartPre=-/usr/bin/docker rm %p-%i
 ExecStart=/usr/bin/docker run \
   --name %p-%i \
   --link mysql-%i:db \
-  -v /data/domains/%i/%p/data/wp-content:/app/wp-content \
-  -v /data/domains/%i/%p/data/.htaccess:/app/.htaccess \
+  -v /data/domains/%i/%p/wp-content:/app/wp-content \
+  -v /data/domains/%i/%p/.htaccess:/app/.htaccess \
   --env-file /data/domains/%i/%p/.env \
   indiehosters/wordpress
 ExecReload=/usr/bin/docker restart %p-%i