#!/usr/bin/with-contenv bash

echo "**** installing docker and docker compose ****"
ARCH=$(uname -m)
if [[ "${ARCH}" = "armv7l" ]]; then
  echo "**** The universal docker mod no longer supports arm32v7/armhf per https://info.linuxserver.io/issues/2023-07-01-armhf/ ****"
  exit 0
fi
if [[ -d "/docker-bins" ]] ; then
  echo "Copying over docker and docker-compose binaries"
  mkdir -p /usr/local/lib/docker/cli-plugins
  mv "/docker-bins/docker-compose" /usr/local/lib/docker/cli-plugins/docker-compose
  mv "/docker-bins/docker-buildx" /usr/local/lib/docker/cli-plugins/docker-buildx
  mv "/docker-bins/docker" /usr/local/bin/docker
  mv "/docker-bins/compose-switch" /usr/local/bin/docker-compose
  rm -rf /docker-bins
else
  echo "**** docker and docker-compose already installed, skipping ****"
fi

if [[ -S /var/run/docker.sock ]]; then
  DOCKER_GID=$(stat -c '%g' "/var/run/docker.sock")
  if id -G abc | grep -qw "$DOCKER_GID"; then
    exit 0
  else
    DOCKER_NAME=$(getent group "${DOCKER_GID}" | awk -F: '{print $1}')
    if [[ -z "${DOCKER_NAME}" ]]; then
      DOCKER_NAME="dockergroup"
      groupadd -g "${DOCKER_GID}" "${DOCKER_NAME}"
    fi
    usermod -aG "${DOCKER_NAME}" abc
  fi
elif [[ -n "$DOCKER_HOST" ]]; then
  echo "**** Remote docker service $DOCKER_HOST will be used ****"
else
  echo "**** Please map /var/run/docker.sock for access to docker service on host. Alternatively you can manually define a remote host address with the docker cli option -H ****"
fi
