1
0
mirror of https://github.com/falk-werner/webfuse synced 2024-10-27 20:34:10 +00:00
falk-werner_webfuse/build/docker-compose.sh
2019-04-05 18:04:39 +02:00

58 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
set -e
DOCKER="${DOCKER:-docker}"
DOCKER_HOST="${DOCKER_HOST:-/var/run/docker.sock}"
IMAGE="${IMAGE:-${REGISTRY_PREFIX}docker/compose:1.24.0}"
NETWORK="${NETWORK:-host}"
USERID="${USERID:-$(id -u)}"
SCRIPT_ROOT="${SCRIPT_ROOT:-"$(dirname "$(readlink -f "$0")")"}"
ENTRYPOINT="${ENTRYPOINT:-docker-compose}"
HOST_CONTAINER="${HOST_CONTAINER:-"$("$SCRIPT_ROOT/get_container_id.sh")"}" || true
HOST_ENVFILTER="${HOST_ENVFILTER:-^DOCKER_\|^COMPOSE_}"
RUNFLAGS='--rm'
# setup options for connection to docker host
if [ -S "$DOCKER_HOST" ]; then
DOCKER_SOCK_GROUP="$(stat -c '%g' "$DOCKER_HOST")"
RUNFLAGS="$RUNFLAGS -e DOCKER_SOCK_GROUP=$DOCKER_SOCK_GROUP --group-add $DOCKER_SOCK_GROUP"
RUNFLAGS="$RUNFLAGS -v $DOCKER_HOST:$DOCKER_HOST -e DOCKER_HOST"
else
RUNFLAGS="$RUNFLAGS -e DOCKER_HOST -e DOCKER_TLS_VERIFY -e DOCKER_CERT_PATH"
fi
if [ -n "$HOST_CONTAINER" ]; then
RUNFLAGS="$RUNFLAGS --volumes-from $HOST_CONTAINER"
fi
RUNFLAGS="$RUNFLAGS --network $NETWORK"
if [ -n "$CONTAINER_CGROUP_PARENT" ]; then
RUNFLAGS="$RUNFLAGS --cgroup-parent $CONTAINER_CGROUP_PARENT"
fi
RUNFLAGS="$RUNFLAGS --workdir $PWD"
# if STDIN piped or redirected
if [ -p /dev/stdin ] || { [ ! -t 0 ] && [ ! -p /dev/stdin ]; }; then
RUNFLAGS="$RUNFLAGS --interactive"
elif [ -t 1 ]; then
RUNFLAGS="$RUNFLAGS --tty"
fi
if [ -t 0 ] && ! "$SCRIPT_ROOT/is_running_in_bg.sh" $$; then
RUNFLAGS="$RUNFLAGS --interactive"
fi
RUNFLAGS="$RUNFLAGS --user $USERID:$USERID"
ENVVARS="$(printenv | grep -e "$HOST_ENVFILTER" | sed -n -e 's/\([^=]*\)=.*/-e \1/p')" || true
RUNFLAGS="$RUNFLAGS $ENVVARS"
# shellcheck disable=SC2086
set -- $RUNFLAGS --entrypoint "$ENTRYPOINT" "$IMAGE" "$@"
exec "$DOCKER" run "$@"