#!/usr/bin/env bash

set -e
rm -rf "$DEST"

if ! command -v dockerd &> /dev/null; then
	echo >&2 'error: binary-daemon or dynbinary-daemon must be run before run'
	false
fi

DOCKER_COMMAND="$(command -v dockerd)"

DOCKER_GRAPHDRIVER=${DOCKER_GRAPHDRIVER:-native}
DOCKER_USERLANDPROXY=${DOCKER_USERLANDPROXY:-true}

# example usage: DOCKER_STORAGE_OPTS="dm.basesize=20G,dm.loopdatasize=200G"
storage_params=""
if [ -n "$DOCKER_STORAGE_OPTS" ]; then
	IFS=','
	for i in ${DOCKER_STORAGE_OPTS}; do
		storage_params="--storage-opt $i $storage_params"
	done
	unset IFS
fi

listen_port=2375
if [ -n "$DOCKER_PORT" ]; then
	listen_port="${DOCKER_PORT##*:}"
fi

if [ -n "$DELVE_PORT" ]; then
	delve_listen_port="${DELVE_PORT##*:}"
fi

extra_params="$DOCKERD_ARGS"
if [ "$DOCKER_REMAP_ROOT" ]; then
	extra_params="$extra_params --userns-remap $DOCKER_REMAP_ROOT"
fi

if [ -n "$DOCKER_EXPERIMENTAL" ]; then
	extra_params="$extra_params --experimental"
fi

socket=/var/run/docker.sock
if [ -n "$DOCKER_ROOTLESS" ]; then
	user="unprivilegeduser"
	uid=$(id -u $user)
	# shellcheck disable=SC2174
	mkdir -p -m 700 "/tmp/docker-${uid}"
	chown $user "/tmp/docker-${uid}"
	socket=/tmp/docker-${uid}/docker.sock
fi

# shellcheck disable=SC2206
args=(
	--debug
	--host="tcp://0.0.0.0:${listen_port}"
	--host="unix://${socket}"
	--storage-driver="${DOCKER_GRAPHDRIVER}"
	--userland-proxy="${DOCKER_USERLANDPROXY}"
	--firewall-backend="${DOCKER_FIREWALL_BACKEND}"
	--tls=false
	$storage_params
	$extra_params
)

dockerd=("$DOCKER_COMMAND")

if [ -n "$DELVE_PORT" ]; then
	dockerd=(
		dlv
		--listen="0.0.0.0:$delve_listen_port"
		--headless=true
		--log
		--api-version=2
		--only-same-user=false
		--check-go-version=false
		--accept-multiclient
		exec "${dockerd[@]}" --
	)
fi

if [ -n "$DOCKER_ROOTLESS" ]; then
	dockerd=(
		sudo -u "$user"
		-E DOCKERD="${dockerd[*]}"
		-E XDG_RUNTIME_DIR="/tmp/docker-${uid}"
		-E XDG_CONFIG_HOME="/home/${user}/.config"
		-E HOME="/home/${user}"
		--
		dockerd-rootless.sh
	)
fi

set -x
# shellcheck disable=SC2086
exec "${dockerd[@]}" "${args[@]}"
