Skip to content
Snippets Groups Projects
Commit 2b476423 authored by Michiel de Jong's avatar Michiel de Jong
Browse files

put mysql+wordpress images back

parent 4ba4ab08
No related branches found
No related tags found
No related merge requests found
File added
#!/bin/bash
if [ ! -d "/data/per-user/$USER/mysql/data" ]; then
mkdir -p /data/per-user/$USER/mysql/data
echo MYSQL_PASS=`echo $RANDOM ${date} | md5sum | base64 | cut -c-10` > /data/per-user/$USER/mysql/.env
fi
#!/bin/bash
if [ ! -d "/data/per-user/$USER/wordpress/data" ]; then
cd /data/per-user/$USER/
tar xvzf /data/indiehosters/blueprints/wordpress.tgz
cat /data/per-user/$USER/mysql/.env | sed s/MYSQL_PASS/DB_PASS/ > /data/per-user/$USER/wordpress/.env
fi
......@@ -10,6 +10,8 @@ docker pull indiehosters/haproxy
docker pull indiehosters/confd
docker pull indiehosters/postfix-forwarder
docker pull indiehosters/nginx
docker pull indiehosters/mysql
docker pull indiehosters/wordpress
# Install unit-files
cp /data/indiehosters/unit-files/* /etc/systemd/system
......
[Unit]
Description=MySQL importer
Before=mysql@%i.service
[Service]
Type=oneshot
RemainAfterExit=yes
Environment=USER=%i
ExecStart=/data/indiehosters/importers/mysql.sh
[Install]
WantedBy=mysql@%i.service
[Unit]
Description=%p-%i
After=docker.service
After=%p-importer@%i.service
Requires=docker.service
Requires=%p-importer@%i.service
[Service]
Restart=always
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker kill %p-%i
ExecStartPre=-/usr/bin/docker rm %p-%i
ExecStart=/usr/bin/docker run\
--name %p-%i\
-v /data/per-user/%i/%p/data:/var/lib/mysql\
--env-file /data/per-user/%i/%p/.env\
indiehosters/mysql
ExecReload=/usr/bin/docker restart %p-%i
ExecStop=/usr/bin/docker stop %p-%i
[Install]
WantedBy=multi-user.target
[Unit]
Description=%p for %i etcd registration
# Requirements
Requires=etcd.service
Requires=wordpress@%i.service
# Dependency ordering and binding
After=etcd.service
After=wordpress@%i.service
BindsTo=wordpress@%i.service
[Service]
EnvironmentFile=/etc/environment
TimeoutStartSec=0
# Start
## Test whether service is accessible and then register useful information
ExecStart=/bin/bash -c '\
sleep 3; \
while true; do \
app=`echo %p | cut -d"-" -f1`; \
ip=`docker inspect --format \'{{.NetworkSettings.IPAddress}}\' $app-%i`; \
curl -f $ip; \
if [ $? -eq 0 ]; then \
etcdctl set /services/$app/%i \'{"ip":"\'$ip\'", "port":"80"}\' --ttl 30; \
else \
etcdctl rm /services/$app/%i; \
fi; \
sleep 20; \
done'
# Stop
ExecStop=/bin/bash -ceux '\
app=`echo %p | cut -d"-" -f1`;\
/usr/bin/etcdctl rm /services/$app/%i
[Unit]
Description=WordPress importer
After=mysql-importer@%i.service
Before=wordpress@%i.service
[Service]
Type=oneshot
RemainAfterExit=yes
Environment=USER=%i
ExecStart=/data/indiehosters/importers/wordpress.sh
[Install]
WantedBy=wordpress@%i.service
[Unit]
Description=%p-%i
After=docker.service
Requires=etcd.service
Requires=docker.service
Requires=mysql@%i.service
After=mysql@%i.service
Requires=%p-importer@%i.service
Requires=%p-discovery@%i.service
After=%p-importer@%i.service
Before=%p-discovery@%i.service
[Service]
Restart=always
TimeoutStartSec=0
ExecStartPre=-/usr/bin/docker kill %p-%i
ExecStartPre=-/usr/bin/docker rm %p-%i
ExecStart=/usr/bin/docker run\
--name %p-%i\
--link mysql-%i:db\
-v /data/per-user/%i/%p/data/wp-content:/app/wp-content\
-v /data/per-user/%i/%p/data/.htaccess:/app/.htaccess\
--env-file /data/per-user/%i/%p/.env\
indiehosters/wordpress
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