1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2024-09-30 16:30:45 +00:00
falk-werner_webfuse-provider/build/mkdocker/bin/docker_compose.sh
nosamad 979ff1e689 refactor(mkdockerbuild): extracts common parts (#24)
* fixes mount of project in wrapper scripts, when not running in container

* refactors makefile in preparation to extract common parts

* refactors makefiles and scripts

* fix git ignore matches

* adds support to disable fetch

* update

* fixes docker warning about unused build argument

* adds support to force offline build

fixes shell escaping
changes paths to relative where possible

* moves make docker builder support files

* removes unnecessary configuration elements

* fixes initial download directory creation

* adds missing rule for initial download directory creation

* fixes docker error: unable to prepare context

copies dockerfile to build context, in order to remove dependency to
unsupported/new docker feature
2019-04-17 17:25:56 +02:00

57 lines
1.6 KiB
Bash
Executable File

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