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

Adds a universal runner

parent 76c65035
No related branches found
No related tags found
No related merge requests found
#!/bin/bash -eux
URL=${PWD##*/}
db_container_name=`echo ${URL}_db_1 | sed "s/\.//"`; \
docker exec $db_container_name mongodump
#!/bin/bash -eux
/opt/bin/docker-compose kill || :
/opt/bin/docker-compose rm -f || :
/opt/bin/docker-compose up
#!/bin/bash -eux
/opt/bin/docker-compose stop
db:
image: mongo
volumes:
- data/runtime/db:/data/db
- data/dump:/dump
command: mongod --smallfiles
web:
image: mateorapp
environment:
- MONGO_URL=mongodb://db:27017/meteor
- ROOT_URL=https://meteorapp.test
links:
- db:db
volumes:
- logs:/home/app/logs
ports:
- 80
...@@ -46,4 +46,7 @@ TRUST_VALUE=':6:' ...@@ -46,4 +46,7 @@ TRUST_VALUE=':6:'
echo $TRUSTVAR$TRUST_VALUE | gpg --import-ownertrust echo $TRUSTVAR$TRUST_VALUE | gpg --import-ownertrust
docker run --rm -v /opt/bin:/target jpetazzo/nsenter docker run --rm -v /opt/bin:/target jpetazzo/nsenter
curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /opt/bin/docker-compose
chmod +x /opt/bin/docker-compose
update_engine_client -update
[Unit]
Description=Back up data from %i
[Service]
Type=oneshot
TimeoutStartSec=0
Nice=0
WorkingDirectory=/data/domains/%i/
EnvironmentFile=/etc/environment
ExecStartPre=/bin/bash -euxc 'sleep `shuf -i 0-400 -n 1`'
ExecStartPre=/bin/bash -euxc '/data/domains/%i/BACKUP'
ExecStart=/bin/bash -euxc ' \
/bin/docker run \
--rm \
--name backup-%i \
-h backup.container \
-v /root:/root \
-v /data/domains/%i:/backup indiepaas/duplicity \
--full-if-older-than 1W \
--encrypt-key ${ENCRYPT_KEY} \
/backup \
sftp://${BACKUP_DESTINATION}/%i'
[Unit]
Description=Hourly backup of www and mysql content.
# Dependency binding
BindsTo=universal@%i.service
[Timer]
OnActiveSec=20
OnUnitActiveSec=60min
[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/\.//"`; \
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-%i
# Requirements
Requires=docker.service
Requires=discovery-u@%i.service
Requires=backup-u@%i.timer
# Dependency ordering
After=docker.service
Before=discovery-u@%i.service
Before=backup-u@%i.timer
[Service]
WorkingDirectory=/data/domains/%i/
ExecStartPre=/bin/cp /data/domains/%i/TLS/%i.pem /data/runtime/haproxy/approved-certs/%i.pem
ExecStart=/bin/bash -euxc '/data/domains/%i/RUN'
ExecStop=/data/domains/%i/STOP
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