Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • lupa/compose.libre.sh
  • libre.sh/compose.libre.sh
  • ecobytes/compose.libre.sh
  • jordan.mitchell/compose.libre.sh
  • timothee/compose.libre.sh
5 results
Show changes
Showing
with 94 additions and 273 deletions
[Unit]
Description=%p for %i etcd registration
# Requirements
Requires=etcd.service
# Dependency binding
BindsTo=universal@%i.service
[Service]
Type=oneshot
RemainAfterExit=yes
Environment=URL=%i
ExecStart=/bin/bash -euxc ' \
sleep 3; \
container_name=`echo ${URL}_web_1 | sed "s/\.//g" | sed "s/-//g"`; \
ip=`docker inspect --format \'{{.NetworkSettings.IPAddress}}\' $container_name`; \
etcdctl --peers 172.17.42.1:4001 set /services/web/%i \'{"ip":"\'$ip\'", "port":"80"}\';'
ExecStop=-/usr/bin/etcdctl rm /services/web/%i
[Unit]
Description=%p for %i etcd registration
# Requirements
Requires=etcd.service
# Dependency binding
BindsTo=web@%i.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/bash -euxc ' \
ip=`docker inspect --format \'{{.NetworkSettings.IPAddress}}\' %i`; \
etcdctl --peers 172.17.42.1:4001 set /services/web/%i \'{"ip":"\'$ip\'", "port":"80"}\';'
ExecStop=-/usr/bin/etcdctl rm /services/web/%i
[Unit]
Description=%p
# Requirements
Requires=docker.service
Requires=mysql@mail.service
Requires=backup@mail.timer
# Dependency ordering
After=docker.service
After=mysql@mail.service
Before=backup@mail.timer
[Service]
Restart=always
RestartSec=10
TimeoutStartSec=60
TimeoutStopSec=15
Type=notify
NotifyAccess=all
ExecStartPre=/usr/bin/docker run --rm -v /opt/bin:/opt/bin ibuildthecloud/systemd-docker
ExecStartPre=-/usr/bin/docker kill dovecot
ExecStartPre=-/usr/bin/docker rm dovecot
ExecStart=/bin/bash -euxc ' \
/opt/bin/systemd-docker --env run \
--rm \
--name dovecot \
-v /data/domains/mail/dovecot/mail:/mail \
-v /data/domains/mail/TLS:/ssl \
-v /data/runtime/dev/log:/dev/log \
--env-file=/data/domains/mail/.env \
--link mysql-mail:db \
-p 993:993 \
indiepaas/dovecot'
ExecReload=/usr/bin/docker restart dovecot
ExecStop=/usr/bin/docker stop dovecot
[Install]
WantedBy=multi-user.target
[Service]
Type=oneshot
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin
ExecStart=/opt/bin/dump_all.sh
[Unit]
Description=Run dump all dayly
[Timer]
OnCalendar=*-*-* 00:15:30
[Install]
WantedBy=timers.target
[Unit]
Description=Git pull on every git repo
[Service]
Type=oneshot
TimeoutStartSec=0
ExecStart=/bin/bash -euxc ' \
for directory in `find /data/domains/ -name .git -type d -prune -not -path "*/owncloud/data/*"`;do \
cd $directory; cd ..;\
git pull; \
done'
[Unit]
Description=Git pull every 5 minutes
[Timer]
OnBootSec=5min
OnUnitActiveSec=5min
[Install]
WantedBy=multi-user.target
[Path]
PathExists=/data/runtime/haproxy/haproxy.cfg
[Install]
WantedBy=multi-user.target
[Unit]
Description=%p
# Requirements
Requires=docker.service
# Dependency ordering
After=docker.service
[Service]
Restart=always
RestartSec=20
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker kill %p
ExecStartPre=-/usr/bin/docker rm %p
ExecStart=/usr/bin/docker run \
--rm \
--name %p \
-v /data/runtime/haproxy:/etc/haproxy \
-p 80:80 \
-p 443:443 \
indiepaas/haproxy
ExecReload=/usr/bin/docker restart %p
ExecStop=/usr/bin/docker stop %p
[Unit]
Description=%p-%i
# Requirements
Requires=mysql@%i.service
Requires=web@%i.service
# Dependency ordering
After=mysql@%i.service
Before=web@%i.service
# Dependency binding
BindsTo=web@%i.service
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/data/domains/%i/.env
ExecStart=/bin/bash -euxc ' \
application_folder=/data/domains/%i/${APPLICATION}; \
if [ ! -f $application_folder/.env ]; then \
cat /data/domains/%i/mysql/.env | sed s/MYSQL_PASS/DB_PASS/ > $application_folder/.env; \
fi;'
[Install]
WantedBy=multi-user.target
[Service]
Type=oneshot
ExecStart=/libre.sh/utils/mail-mon.sh
[Unit] [Unit]
Description=Daily timer for OCSP stapling Description=Run mail mon hourly and on boot
[Timer] [Timer]
OnBootSec=15min OnBootSec=15min
OnUnitActiveSec=1day OnUnitActiveSec=1h
[Install] [Install]
WantedBy=multi-user.target WantedBy=timers.target
[Unit]
Description=%p-%i
# Requirements
Requires=docker.service
# Dependency ordering
After=docker.service
Before=backup@%i.timer
# Dependency binding
BindsTo=lamp@%i.service
[Service]
Restart=always
RestartSec=20
TimeoutStartSec=0
Type=notify
NotifyAccess=all
ExecStartPre=/usr/bin/docker run --rm -v /opt/bin:/opt/bin ibuildthecloud/systemd-docker
ExecStartPre=-/usr/bin/docker kill %p-%i
ExecStartPre=-/usr/bin/docker rm %p-%i
ExecStartPre=/bin/bash -euxc ' \
mysql_folder=/data/domains/%i/mysql; \
if [ ! -d /data/runtime/domains/%i/mysql ]; then \
mkdir -p /data/runtime/domains/%i/mysql/db_files; \
if [ ! -d $mysql_folder ]; then \
mkdir -p $mysql_folder; \
pass=`echo $RANDOM ${date} | md5sum | base64 | cut -c-10`; \
echo MYSQL_PASS=$pass > $mysql_folder/.env; \
fi; \
fi'
ExecStart=/opt/bin/systemd-docker run \
--rm \
--name %p-%i \
-v /data/runtime/domains/%i/log/mysql:/var/log/mysql \
-v /data/runtime/domains/%i/%p/db_files:/var/lib/mysql \
--env-file /data/domains/%i/%p/.env \
indiepaas/mysql
ExecReload=/usr/bin/docker restart %p-%i
ExecStop=/usr/bin/docker stop %p-%i
[Unit]
Description=Get the OCSP data from the cert provider
[Service]
Type=oneshot
TimeoutStartSec=0
ExecStart=/bin/bash -euxc ' \
for cert in `ls /data/runtime/haproxy/approved-certs/*.pem`;do \
/data/indiehosters/utils/ocsp.sh $cert; \
done; \
systemctl restart haproxy; \
rm /tmp/*.crt'
[Unit]
Description=%p
# Requirements
Requires=docker.service
Requires=dovecot.service
# Dependency ordering
After=docker.service
After=rsyslog.service
After=dovecot.service
[Service]
Restart=always
RestartSec=20
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker kill %p
ExecStartPre=-/usr/bin/docker rm %p
ExecStart=/usr/bin/docker run \
--rm \
--name %p \
--env-file=/data/domains/mail/.env \
-v /data/runtime/dev/log:/dev/log \
-v /data/runtime/postfix:/data \
-v /data/runtime/mail:/var/mail \
-v /data/domains/mail/TLS:/ssl \
-v /data/domains/mail/opendkim:/etc/opendkim \
--volumes-from=dovecot \
-p 25:25 \
-p 587:587 \
--link=mysql-mail:db \
indiepaas/postfix
ExecReload=/usr/bin/docker restart %p
ExecStop=/usr/bin/docker stop %p
[Install]
WantedBy=multi-user.target
[Unit] [Unit]
Description=%p Description=%p-%i
# Requirements # Requirements
Requires=docker.service Requires=docker.service
...@@ -9,19 +9,15 @@ After=docker.service ...@@ -9,19 +9,15 @@ After=docker.service
[Service] [Service]
Restart=always Restart=always
RestartSec=20 RestartSec=10
TimeoutStartSec=0 TimeoutStartSec=60
ExecStartPre=-/usr/bin/docker kill %p TimeoutStopSec=15
ExecStartPre=-/usr/bin/docker rm %p EnvironmentFile=-/system/%i/env
ExecStart=/usr/bin/docker run \ Environment=HOSTNAME=%H
--rm \ WorkingDirectory=/system/%i/
--name rsyslog \ ExecStartPre=-docker-compose rm -f
-v /data/runtime/dev:/dev \ ExecStart=/bin/bash -euxc "docker-compose up"
-v /data/runtime/log:/var/log \ ExecStop=docker-compose stop
indiepaas/rsyslog
ExecReload=/usr/bin/docker restart %p
ExecStop=/usr/bin/docker stop %p
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
[Unit]
Description=%p-%i
# Requirements
Requires=web@%i.service
# Dependency ordering
Before=web@%i.service
[Service]
Type=oneshot
RemainAfterExit=yes
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'
[Install]
WantedBy=multi-user.target
[Unit]
Description=Turn on swap
[Service]
Type=oneshot
RemainAfterExit=true
ExecStartPre=-/bin/bash -euxc ' \
fallocate -l 8192m /swap &&\
chmod 600 /swap &&\
mkswap /swap'
ExecStart=/sbin/swapon /swap
ExecStop=/sbin/swapoff /swap
[Install]
WantedBy=local.target
...@@ -3,24 +3,21 @@ Description=%p-%i ...@@ -3,24 +3,21 @@ Description=%p-%i
# Requirements # Requirements
Requires=docker.service Requires=docker.service
Requires=discovery-u@%i.service
Requires=backup-u@%i.timer
# Dependency ordering # Dependency ordering
After=docker.service After=docker.service
Before=discovery-u@%i.service
Before=backup-u@%i.timer
[Service] [Service]
Restart=always Restart=always
RestartSec=10 RestartSec=10
TimeoutStartSec=60 TimeoutStartSec=60
TimeoutStopSec=15 TimeoutStopSec=15
EnvironmentFile=-/data/domains/%i/env
Environment=HOSTNAME=%H
WorkingDirectory=/data/domains/%i/ WorkingDirectory=/data/domains/%i/
ExecStartPre=/bin/cp /data/domains/%i/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem ExecStartPre=-docker-compose rm -f
ExecStart=/bin/bash -euxc '/data/domains/%i/RUN' ExecStart=/bin/bash -euxc "LETSENCRYPT_HOST=%i VIRTUAL_HOST=%i,www.%i docker-compose up"
ExecStop=/bin/bash -euxc '/data/domains/%i/STOP' ExecStop=docker-compose stop
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
[Unit]
Description=Create lb_web network
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/bin/docker network create lb_web
ExecStop=/usr/bin/docker network rm lb_web
[Install]
WantedBy=local.target