diff --git a/genesis.sh b/genesis.sh index 26fcfb52..d3f36304 100755 --- a/genesis.sh +++ b/genesis.sh @@ -8,6 +8,13 @@ fi set -ex +#Set working directory relative to script +SCRIPT_DIR=$(dirname $0) +pushd $SCRIPT_DIR + +#Load Variables File +. variables.sh + mkdir -p /etc/docker cat < /etc/docker/daemon.json { @@ -16,10 +23,16 @@ cat < /etc/docker/daemon.json } EOS +#Configuration for Docker Behind a Proxy +if [ $USE_PROXY == true ]; then + mkdir -p /etc/systemd/system/docker.service.d + CreateProxyConfiguraton +fi + export DEBIAN_FRONTEND=noninteractive apt-get update -qq apt-get install -y -qq --no-install-recommends \ - docker.io \ + docker.io=$DOCKER_VERSION \ if [ -f "${PROMENADE_LOAD_IMAGE}" ]; then diff --git a/join.sh b/join.sh index 2bd09e3a..8703b0dc 100755 --- a/join.sh +++ b/join.sh @@ -8,6 +8,13 @@ fi set -ex +#Set working directory relative to script +SCRIPT_DIR=$(dirname $0) +pushd $SCRIPT_DIR + +#Load Variables File +. variables.sh + mkdir -p /etc/docker cat < /etc/docker/daemon.json { @@ -16,10 +23,16 @@ cat < /etc/docker/daemon.json } EOS +#Configuration for Docker Behind a Proxy +if [ $USE_PROXY == true ]; then + mkdir -p /etc/systemd/system/docker.service.d + CreateProxyConfiguraton +fi + export DEBIAN_FRONTEND=noninteractive apt-get update -qq apt-get install -y -qq --no-install-recommends \ - docker.io \ + docker.io=$DOCKER_VERSION \ if [ -f "${PROMENADE_LOAD_IMAGE}" ]; then diff --git a/variables.sh b/variables.sh new file mode 100644 index 00000000..37e7e68d --- /dev/null +++ b/variables.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +#Promenade Variables +DOCKER_VERSION=1.12.6-0ubuntu1~16.04.1 +PROMENADE_LOAD_IMAGE=$SCRIPT_DIR/promenade.tar + +#HTTP Proxy Variables +USE_PROXY=false +DOCKER_HTTP_PROXY="http://proxy.server.com:8080" +DOCKER_HTTPS_PROXY="https://proxy.server.com:8080" +DOCKER_NO_PROXY="localhost,127.0.0.1" + +function CreateProxyConfiguraton { + #Set HTTP Proxy variable + cat < /etc/systemd/system/docker.service.d/http-proxy.conf + [Service] + Environment="HTTP_PROXY=${DOCKER_HTTPS_PROXY}" +EOF + + #Set HTTPS Proxy Variable + cat < /etc/systemd/system/docker.service.d/https-proxy.conf + [Service] + Environment="HTTPS_PROXY=${DOCKER_HTTPS_PROXY}" +EOF + + #Set No Proxy Variable + cat < /etc/systemd/system/docker.service.d/no-proxy.conf + [Service] + Environment="NO_PROXY=${DOCKER_NO_PROXY}" +EOF + #Reload systemd and docker if present + systemctl daemon-reload + systemctl restart docker || true + +}