Skip to content
Snippets Groups Projects
lamp@.service 1.36 KiB
Newer Older
[Unit]
Description=%p-%i

# Requirements
Requires=docker.service
Requires=init@%i.service
Requires=mysql@%i.service
Requires=discovery@%i.service
Requires=backup@%i.timer

# Dependency ordering
After=docker.service
After=init@%i.service
After=mysql@%i.service
Before=discovery@%i.service
Before=backup@%i.timer

[Service]
Restart=always
Pierre Ozoux's avatar
Pierre Ozoux committed
Type=notify
NotifyAccess=all
EnvironmentFile=/data/domains/%i/.env
Pierre Ozoux's avatar
Pierre Ozoux committed
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 ' \
  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'

Pierre Ozoux's avatar
Pierre Ozoux committed
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}
Pierre Ozoux's avatar
Pierre Ozoux committed
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;'

[Install]
WantedBy=multi-user.target