2018-12-29 01:13:09 +00:00
|
|
|
#!/bin/bash
|
2020-03-31 15:05:18 +00:00
|
|
|
#Absolute path to this script
|
|
|
|
SCRIPT=$(readlink -f $0)
|
|
|
|
#Absolute path this script is in
|
|
|
|
SCRIPTPATH=$(dirname $SCRIPT)
|
|
|
|
|
|
|
|
cd $SCRIPTPATH
|
|
|
|
|
2020-04-15 15:25:59 +00:00
|
|
|
if test -z "$1" && [ "$1" != "bootstrap" ] && [ "$1" != "normal" ]
|
|
|
|
then
|
|
|
|
echo "First argument must be \"bootstap\" or normal"
|
|
|
|
exit 1
|
|
|
|
else
|
|
|
|
REPO="$1"
|
|
|
|
fi
|
|
|
|
|
2020-02-22 21:24:22 +00:00
|
|
|
for NETWORK in reverse-proxy
|
|
|
|
do
|
2020-02-23 13:20:51 +00:00
|
|
|
sudo docker network inspect ${NETWORK} &> /dev/null && continue
|
2020-02-22 21:24:22 +00:00
|
|
|
sudo docker network create ${NETWORK}
|
2020-02-23 13:20:51 +00:00
|
|
|
sudo docker network inspect ${NETWORK} &> /dev/null || \
|
2020-02-22 21:24:22 +00:00
|
|
|
{ echo "ERROR: could not create network ${NETWORK}, exiting."; exit 1; }
|
|
|
|
done
|
|
|
|
|
2020-04-15 15:25:59 +00:00
|
|
|
if [ "$REPO" == "bootstrap" ]
|
2020-04-14 16:37:43 +00:00
|
|
|
then
|
|
|
|
test -f ~/openrc.sh || { echo "ERROR: ~/openrc.sh not found, exiting."; exit 1; }
|
|
|
|
source ~/openrc.sh
|
|
|
|
export OS_REGION_NAME=GRA
|
|
|
|
test -f ~/duplicity_password.sh || { echo "ERROR: ~/duplicity_password.sh not found, exiting."; exit 1; }
|
|
|
|
source ~/duplicity_password.sh
|
|
|
|
|
|
|
|
sudo docker image inspect duplicity:latest &> /dev/null || { echo "ERROR: duplicity:latest image not found, exiting."; exit 1; }
|
|
|
|
|
|
|
|
rm -rf ~/build
|
|
|
|
mkdir -p ~/build
|
|
|
|
for name in docker-reverse-proxy
|
|
|
|
do
|
|
|
|
sudo -E docker run --rm -e SWIFT_USERNAME=$OS_USERNAME \
|
|
|
|
-e SWIFT_PASSWORD=$OS_PASSWORD \
|
|
|
|
-e SWIFT_AUTHURL=$OS_AUTH_URL \
|
|
|
|
-e SWIFT_AUTHVERSION=$OS_IDENTITY_API_VERSION \
|
|
|
|
-e SWIFT_TENANTNAME=$OS_TENANT_NAME \
|
|
|
|
-e SWIFT_REGIONNAME=$OS_REGION_NAME \
|
|
|
|
-e PASSPHRASE=$PASSPHRASE \
|
|
|
|
--name backup-restore -v ~/build:/mnt/build --entrypoint /bin/bash duplicity:latest \
|
|
|
|
-c "duplicity restore --name bootstrap --file-to-restore ${name}.tar.gz swift://bootstrap /mnt/build/${name}.tar.gz"
|
|
|
|
tar -xzf ~/build/${name}.tar.gz -C ~/build/
|
|
|
|
done
|
|
|
|
|
|
|
|
# --force-recreate is used to recreate container when crontab file has changed
|
|
|
|
unset VERSION_PROXY
|
|
|
|
cd ~/build/docker-reverse-proxy; export VERSION_PROXY=$(git show-ref --head| head -1 | cut -f 1|cut -c -10)
|
|
|
|
cd $SCRIPTPATH
|
|
|
|
else
|
|
|
|
unset VERSION_PROXY
|
|
|
|
export VERSION_PROXY=$(git ls-remote https://git.scimetis.net/yohan/docker-reverse-proxy.git| head -1 | cut -f 1|cut -c -10)
|
|
|
|
rm -rf ~/build
|
|
|
|
mkdir -p ~/build
|
|
|
|
git clone https://git.scimetis.net/yohan/docker-reverse-proxy.git ~/build/docker-reverse-proxy
|
|
|
|
fi
|
2020-02-22 18:53:58 +00:00
|
|
|
sudo docker build -t reverse-proxy:$VERSION_PROXY ~/build/docker-reverse-proxy
|
|
|
|
|
2020-03-31 15:05:18 +00:00
|
|
|
sudo -E bash -c 'docker-compose up --no-start --force-recreate'
|
2018-12-29 01:13:09 +00:00
|
|
|
|
2020-02-22 18:53:58 +00:00
|
|
|
rm -rf ~/build
|