#!/usr/bin/with-contenv bash

ABC_USER=$(id -nu ${PUID:-911})
mkdir -p /config/{logs/dockerd,var/lib/docker}
lsiown -R ${ABC_USER}:${ABC_USER} /config/logs

echo "**** installing docker and docker compose ****"
if [ -f /usr/bin/apt ]; then
    echo "**** Adding docker-in-docker dependency packages to install list ****"
    echo "\
        btrfs-progs \
        ca-certificates \
        curl \
        e2fsprogs \
        iptables \
        openssh-client \
        openssl \
        pigz \
        xfsprogs \
        xz-utils" >> /mod-repo-packages-to-install.list
else
    echo "**** Adding docker-in-docker dependency packages to install list ****"
    echo "\
        btrfs-progs \
        curl \
        e2fsprogs \
        e2fsprogs-extra \
        ip6tables \
        iptables \
        openssl \
        pigz \
        xfsprogs \
        xz" >> /mod-repo-packages-to-install.list
fi
if [ -d "/docker-tgz" ] ; then
    echo "Copying over docker and docker-compose binaries"
    mkdir -p /usr/local/lib/docker/cli-plugins
    mv "/docker-tgz/docker-compose" /usr/local/lib/docker/cli-plugins/docker-compose
    mv "/docker-tgz/docker-buildx" /usr/local/lib/docker/cli-plugins/docker-buildx
    mv "/docker-tgz/compose-switch" /usr/local/bin/docker-compose
    tar xf /docker-tgz/docker.tgz \
        --strip-components=1 -C \
        /usr/local/bin/
    rm -rf /docker-tgz
else
    echo "**** docker and docker-compose already installed, skipping ****"
fi

# delete PID if exists
find /run /var/run -iname 'docker*.pid' -delete || :

# create docker group and add abc to it
groupadd -f docker
if ! id -nG ${ABC_USER} | grep -q "docker"; then 
    usermod -aG docker ${ABC_USER}
fi
