Skip to content
Snippets Groups Projects
Commit 322f7531 authored by Pierre Ozoux's avatar Pierre Ozoux
Browse files

Merge known and wordpress in one unit file

parent aff928c2
No related branches found
No related tags found
No related merge requests found
/uploads
/app/wp-content
...@@ -5,13 +5,10 @@ Description=%p for %i etcd registration ...@@ -5,13 +5,10 @@ Description=%p for %i etcd registration
Requires=etcd.service Requires=etcd.service
[Service] [Service]
# Start
## Test whether service is accessible and then register useful information
ExecStart=/bin/bash -c ' \ ExecStart=/bin/bash -c ' \
sleep 30; \ sleep 30; \
while true; do \ while true; do \
app=`echo %i | cut -d"-" -f1`; \ ip=`docker inspect --format \'{{.NetworkSettings.IPAddress}}\' %i`; \
ip=`docker inspect --format \'{{.NetworkSettings.IPAddress}}\' $app-%i`; \
curl -f $ip; \ curl -f $ip; \
if [ $? -eq 0 ]; then \ if [ $? -eq 0 ]; then \
etcdctl set /services/web/%i \'{"ip":"\'$ip\'", "port":"80"}\' --ttl 60; \ etcdctl set /services/web/%i \'{"ip":"\'$ip\'", "port":"80"}\' --ttl 60; \
...@@ -21,7 +18,5 @@ ExecStart=/bin/bash -c ' \ ...@@ -21,7 +18,5 @@ ExecStart=/bin/bash -c ' \
sleep 50; \ sleep 50; \
done' done'
# Stop ExecStop=-/usr/bin/etcdctl rm /services/web/%i
ExecStop=-/bin/bash -euxc ' \
app=`echo %p | cut -d"-" -f1`; \
/usr/bin/etcdctl rm /services/web/%i
...@@ -5,26 +5,23 @@ Description=%p-%i ...@@ -5,26 +5,23 @@ Description=%p-%i
Requires=docker.service Requires=docker.service
Requires=init@%i.service Requires=init@%i.service
Requires=mysql@%i.service Requires=mysql@%i.service
Requires=discovery@%p-%i.service Requires=discovery@%i.service
Requires=backup@%i.timer Requires=backup@%i.timer
# Dependency ordering # Dependency ordering
After=docker.service After=docker.service
After=init@%i.service After=init@%i.service
After=mysql@%i.service After=mysql@%i.service
Before=discovery@%p-%i.service Before=discovery@%i.service
Before=backup@%i.timer Before=backup@%i.timer
# Dependency binding
BindsTo=mysql@%i.service
BindsTo=discovery@%p-%i.service
[Service] [Service]
Restart=always Restart=always
ExecStartPre=-/usr/bin/docker kill %p-%i EnvironmentFile=/data/domains/%i/.env
ExecStartPre=-/usr/bin/docker rm %p-%i ExecStartPre=-/usr/bin/docker kill %i
ExecStartPre=-/usr/bin/docker rm %i
ExecStartPre=/bin/bash -euxc ' \ ExecStartPre=/bin/bash -euxc ' \
application_folder=/data/domains/%i/%p; \ application_folder=/data/domains/%i/${APPLICATION}; \
if [ ! -d $application_folder ]; then \ if [ ! -d $application_folder ]; then \
mkdir -p $application_folder; \ mkdir -p $application_folder; \
touch $application_folder/.htaccess; \ touch $application_folder/.htaccess; \
...@@ -32,14 +29,22 @@ ExecStartPre=/bin/bash -euxc ' \ ...@@ -32,14 +29,22 @@ ExecStartPre=/bin/bash -euxc ' \
cat /data/domains/%i/mysql/.env | sed s/MYSQL_PASS/DB_PASS/ > $application_folder/.env' cat /data/domains/%i/mysql/.env | sed s/MYSQL_PASS/DB_PASS/ > $application_folder/.env'
ExecStart=/usr/bin/docker run \ ExecStart=/usr/bin/docker run \
--name %p-%i \ --name %i \
--link mysql-%i:db \ --link mysql-%i:db \
-v /data/domains/%i/%p/wp-content:/app/wp-content \ -v /data/domains/%i/${APPLICATION}/data:$(cat /data/indiehosters/dockerfiles/services/${APPLICATION}/VOLUME) \
-v /data/domains/%i/%p/.htaccess:/app/.htaccess \ -v /data/domains/%i/${APPLICATION}/.htaccess:/app/.htaccess \
--env-file /data/domains/%i/%p/.env \ --env-file /data/domains/%i/${APPLICATION}/.env \
pierreozoux/%p pierreozoux/${APPLICATION}
ExecReload=/usr/bin/docker restart %p-%i ExecReload=/bin/bash -euxc ' \
ExecStop=/usr/bin/docker stop %p-%i /usr/bin/docker restart %i; \
systemctl restart discovery@%i.service; \
systemctl restart backup@%i.timer;'
ExecStop=/bin/bash -euxc ' \
systemctl stop init@%i.service; \
systemctl stop discovery@%i.service; \
systemctl stop backup@%i.timer; \
/usr/bin/docker stop %i;'
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
...@@ -8,6 +8,9 @@ Requires=docker.service ...@@ -8,6 +8,9 @@ Requires=docker.service
After=docker.service After=docker.service
Before=backup@%i.timer Before=backup@%i.timer
# Dependency binding
BindsTo=lamp@%i.service
[Service] [Service]
Restart=always Restart=always
ExecStartPre=-/usr/bin/docker kill %p-%i ExecStartPre=-/usr/bin/docker kill %p-%i
......
...@@ -4,35 +4,40 @@ Description=%p-%i ...@@ -4,35 +4,40 @@ Description=%p-%i
# Requirements # Requirements
Requires=docker.service Requires=docker.service
Requires=init@%i.service Requires=init@%i.service
Requires=discovery@%p-%i.service Requires=discovery@%i.service
Requires=backup@%i.timer Requires=backup@%i.timer
# Dependency ordering # Dependency ordering
After=docker.service After=docker.service
After=init@%i.service After=init@%i.service
Before=discovery@%p-%i.service Before=discovery@%i.service
Before=backup@%i.timer Before=backup@%i.timer
# Dependency binding
BindsTo=discovery@%p-%i.service
[Service] [Service]
Restart=always Restart=always
ExecStartPre=-/usr/bin/docker kill %p-%i EnvironmentFile=/data/domains/%i/.env
ExecStartPre=-/usr/bin/docker rm %p-%i ExecStartPre=-/usr/bin/docker kill %i
ExecStartPre=-/usr/bin/docker rm %i
ExecStartPre=/bin/bash -euxc ' \ ExecStartPre=/bin/bash -euxc ' \
application_folder=/data/domains/%i/static/www-content; \ application_folder=/data/domains/%i/%p/www-content; \
if [ ! -d $application_folder ]; then \ if [ ! -d $application_folder ]; then \
mkdir -p $application_folder; \ mkdir -p $application_folder; \
echo Hello %i > $application_folder/index.html; \ echo Hello %i > $application_folder/index.html; \
fi;' fi'
ExecStart=/usr/bin/docker run \ ExecStart=/usr/bin/docker run \
--name %p-%i \ --name %i \
-v /data/domains/%i/%p/www-content:/app \ -v /data/domains/%i/%p/www-content:/app \
pierreozoux/nginx pierreozoux/nginx
ExecReload=/usr/bin/docker restart %p-%i ExecReload=/bin/bash -euxc ' \
ExecStop=/usr/bin/docker stop %p-%i /usr/bin/docker restart %i; \
systemctl restart discovery@%i.service; \
systemctl restart backup@%i.timer;'
ExecStop=/bin/bash -euxc ' \
systemctl stop init@%i.service; \
systemctl stop discovery@%i.service; \
systemctl stop backup@%i.timer; \
/usr/bin/docker stop %i;'
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
[Unit]
Description=%p-%i
# Requirements
Requires=docker.service
Requires=init@%i.service
Requires=mysql@%i.service
Requires=discovery@%p-%i.service
Requires=backup@%i.timer
# Dependency ordering
After=docker.service
After=init@%i.service
After=mysql@%i.service
Before=discovery@%p-%i.service
Before=backup@%i.timer
# Dependency binding
BindsTo=mysql@%i.service
BindsTo=discovery@%p-%i.service
[Service]
Restart=always
ExecStartPre=-/usr/bin/docker kill %p-%i
ExecStartPre=-/usr/bin/docker rm %p-%i
ExecStartPre=/bin/bash -euxc ' \
application_folder=/data/domains/%i/%p; \
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'
ExecStart=/usr/bin/docker run \
--name %p-%i \
--link mysql-%i:db \
-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 \
pierreozoux/%p
ExecReload=/usr/bin/docker restart %p-%i
ExecStop=/usr/bin/docker stop %p-%i
[Install]
WantedBy=multi-user.target
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment