[Unit]
Description=Back up data from %i

[Service]
Type=oneshot
TimeoutStartSec=0
EnvironmentFile=/etc/environment
ExecStartPre=/usr/bin/docker run --rm -v /opt/bin:/opt/bin ibuildthecloud/systemd-docker
ExecStartPre=-/usr/bin/docker kill mysqldump-%i
ExecStartPre=-/usr/bin/docker rm mysqldump-%i
ExecStartPre=/bin/bash -euxc 'sleep `shuf -i 0-400 -n 1`'
ExecStartPre=/bin/bash -euxc '\
  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 \
      --rm \
      --name mysqldump-%i \
      --link mysql-%i:db \
      --env-file /data/domains/%i/mysql/.env \
      indiepaas/mysql \
        mysqldump \
          --all-databases \
          --events \
          -uadmin \
          -p$mysql_passwd \
          -h db > /data/domains/%i/mysql/dump.sql; \
  fi'

ExecStart=/bin/bash -euxc ' \
  /bin/docker run \
    --rm \
    --name backup-%i \
    -h backup.container \
    -v /root:/root \
    -v /data/domains/%i:/backup indiepaas/duplicity \
      --full-if-older-than 1W \
      --encrypt-key ${ENCRYPT_KEY} \
        /backup \
        sftp://${BACKUP_DESTINATION}/%i'