You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.3 KiB
48 lines
1.3 KiB
#!/bin/sh
|
|
set +x
|
|
set -e
|
|
|
|
: "${CCG_DOCKER_ORG:=muccg}"
|
|
: "${CCG_COMPOSER:=ccg-composer}"
|
|
: "${CCG_COMPOSER_VERSION:=latest}"
|
|
: "${CCG_PIP_PROXY=0}"
|
|
: "${CCG_HTTP_PROXY=0}"
|
|
|
|
export CCG_DOCKER_ORG CCG_COMPOSER CCG_COMPOSER_VERSION CCG_PIP_PROXY CCG_HTTP_PROXY
|
|
|
|
# ensure we have an .env file
|
|
ENV_FILE_OPT=''
|
|
if [ -f .env ]; then
|
|
ENV_FILE_OPT='--env-file .env'
|
|
set +e
|
|
. ./.env > /dev/null 2>&1
|
|
set -e
|
|
else
|
|
echo ".env file not found, settings such as project name and proxies will not be set"
|
|
fi
|
|
|
|
# Pass through the ip of the host if we can
|
|
# There is no docker0 interface on Mac OS, so don't do any proxy detection
|
|
if [ "$(uname)" != "Darwin" ]; then
|
|
set +e
|
|
DOCKER_ROUTE=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+')
|
|
set -e
|
|
export DOCKER_ROUTE
|
|
fi
|
|
|
|
TTY_OPTS=
|
|
if [ -t 0 ]; then
|
|
TTY_OPTS='--interactive --tty'
|
|
fi
|
|
|
|
ENV_OPTS="$(env | sort | cut -d= -f1 | grep "^CCG_[a-zA-Z0-9_]*$" | awk '{print "-e", $1}')"
|
|
# shellcheck disable=SC2086 disable=SC2048
|
|
docker run --rm ${TTY_OPTS} ${ENV_FILE_OPT} \
|
|
${ENV_OPTS} \
|
|
-v /etc/timezone:/etc/timezone:ro \
|
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
-v "$(pwd)":"$(pwd)" \
|
|
-v "${HOME}"/.docker:/data/.docker \
|
|
-w "$(pwd)" \
|
|
"${CCG_DOCKER_ORG}"/"${CCG_COMPOSER}":"${CCG_COMPOSER_VERSION}" \
|
|
"$@"
|