Skip to content
Snippets Groups Projects
init@.service 1.23 KiB
Newer Older
[Unit]
Description=Initializer

[Service]
Type=oneshot
ExecStartPre=/bin/bash -euxc ' \
  BACKUP_DESTINATION=`cat /data/BACKUP_DESTINATION`; \
  echo "Intitializing backups with $BACKUP_DESTINATION"; \
  if [ ! -d /data/domains/%i/.git ]; then \
    if [ `ssh $BACKUP_DESTINATION "test -d %i"; echo $?` -eq 0 ]; then \
      git clone $BACKUP_DESTINATION:%i /data/domains/%i; \
      cd /data/domains/%i; \
    else \
      ssh $BACKUP_DESTINATION " \
        if [ ! -d %i ]; then \
          mkdir -p %i; \
          cd %i; \
          git init --bare; \
        fi"; \
      if [ ! -d /data/domains/%i ]; then \
        mkdir /data/domains/%i; \
      fi; \
      cd /data/domains/%i; \
      git init; \
      git remote add origin $BACKUP_DESTINATION:%i; \
    fi; \
    git config --local user.email "backups@`hostname`"; \
    git config --local user.name "`hostname` hourly backups"; \
  fi'

ExecStart=/bin/bash -euxc ' \
  if [ -d /data/import/%i ]; then \
Pierre Ozoux's avatar
Pierre Ozoux committed
    cp -av /data/import/%i/* /data/domains/%i; \
    cp /data/import/%i/.env /data/domains/%i/; \
    cd /data/domains/%i/; \
    git add .env; \
    rm -rf /data/import/%i; \
  fi; \
  cp /data/domains/%i/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem;'