From 9fe197427b79c753342d2e33753cfe76e54f1ab5 Mon Sep 17 00:00:00 2001 From: yohan <783b8c87@scimetis.net> Date: Thu, 30 Apr 2020 18:54:05 +0200 Subject: [PATCH] Initial commit. --- create.sh | 53 ++++++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 16 ++++++++++++++ install.sh | 24 +++++++++++++++++++++ start.sh | 8 +++++++ 4 files changed, 101 insertions(+) create mode 100755 create.sh create mode 100644 docker-compose.yml create mode 100755 install.sh create mode 100755 start.sh diff --git a/create.sh b/create.sh new file mode 100755 index 0000000..597bc99 --- /dev/null +++ b/create.sh @@ -0,0 +1,53 @@ +#!/bin/bash +#Absolute path to this script +SCRIPT=$(readlink -f $0) +#Absolute path this script is in +SCRIPTPATH=$(dirname $SCRIPT) +STACK=$(basename "$SCRIPTPATH") +export RUN_DIRECTORY="/usr/local/docker-mounted-files/${STACK}" +cd "$SCRIPTPATH" + +sudo docker-compose down +sudo rm -rf "${RUN_DIRECTORY}" +sudo mkdir -p "${RUN_DIRECTORY}" +sudo chmod a+rx "${RUN_DIRECTORY}" + +cd "${RUN_DIRECTORY}" +test -z $1 || HOST="_$1" +test -z $2 || INSTANCE="_$2" +test -z $KEY && { echo "KEY is not defined."; exit 1; } + +if ! test -f ~/secrets.tar.gz.enc +then + curl -o ~/secrets.tar.gz.enc "https://cloud.scimetis.net/s/${KEY}/download?path=%2F&files=secrets.tar.gz.enc" + if ! test -f ~/secrets.tar.gz.enc + then + echo "ERROR: ~/secrets.tar.gz.enc not found, exiting." + exit 1 + fi +fi + +openssl enc -aes-256-cbc -d -in ~/secrets.tar.gz.enc \ +| sudo tar -zxv --strip 2 secrets/docker-boursorama-scraping-stack${HOST}${INSTANCE}/conf.yml \ +|| { echo "Could not extract from secrets archive, exiting."; rm -f ~/secrets.tar.gz.enc; exit 1; } +sudo chown root. conf.yml + +cd "$SCRIPTPATH" +for NETWORK in stocknet +do + sudo docker network inspect ${NETWORK} &> /dev/null && continue + sudo docker network create ${NETWORK} + sudo docker network inspect ${NETWORK} &> /dev/null || \ + { echo "ERROR: could not create network ${NETWORK}, exiting."; exit 1; } +done + +unset VERSION_BOURSORAMA_SCRAPING +export VERSION_BOURSORAMA_SCRAPING=$(git ls-remote https://git.scimetis.net/yohan/docker-boursorama-scraping.git| head -1 | cut -f 1|cut -c -10) + +mkdir -p ~/build +git clone https://git.scimetis.net/yohan/docker-boursorama-scraping.git ~/build/docker-boursorama-scraping +sudo docker build -t boursorama-scraping:$VERSION_BOURSORAMA_SCRAPING ~/build/docker-boursorama-scraping + +sudo -E bash -c 'docker-compose up --no-start --force-recreate' + +rm -rf ~/build diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..cecab50 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,16 @@ +version: "2.1" + +services: + + boursorama-scraping: + container_name: boursorama-scraping + image: boursorama-scraping:$VERSION_BOURSORAMA_SCRAPING + networks: + - stocknet + volumes: + - ${RUN_DIRECTORY}/conf.yml:/root/conf.yml + +networks: + + stocknet: + external: true diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..144561f --- /dev/null +++ b/install.sh @@ -0,0 +1,24 @@ +#!/bin/bash +#Absolute path to this script +SCRIPT=$(readlink -f $0) +#Absolute path this script is in +SCRIPTPATH=$(dirname $SCRIPT) +STACK=$(basename "$SCRIPTPATH") + +cat << EOF > /etc/systemd/system/${STACK}.service +[Unit] +Description=Starting ${STACK} +After=network-online.target firewalld.service docker.service docker.socket +Wants=network-online.target docker.service +Requires=docker.socket + +[Service] +Type=oneshot +User=$SUDO_USER +ExecStart=$SCRIPTPATH/start.sh + +[Install] +WantedBy=multi-user.target +EOF +systemctl daemon-reload +systemctl enable ${STACK}.service diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..1f4bfdf --- /dev/null +++ b/start.sh @@ -0,0 +1,8 @@ +#!/bin/bash +#Absolute path to this script +SCRIPT=$(readlink -f $0) +#Absolute path this script is in +SCRIPTPATH=$(dirname $SCRIPT) + +cd $SCRIPTPATH +sudo docker-compose start