penguin/monok8s

k8s image for Mono Gateway Dev Kit

devtools/setup-bulid-host.sh

raw ยท 1662 bytes

#!/usr/bin/env bash
set -euo pipefail

if [ "$(id -u)" -ne 0 ]; then
    echo "Run as root, e.g. sudo $0" >&2
    exit 1
fi

. /etc/os-release

if [ "${ID:-}" != "debian" ]; then
    echo "This script is intended for Debian. Detected ID=${ID:-unknown}" >&2
    exit 1
fi

echo "==> Removing conflicting Docker packages, if present"
apt-get remove -y \
    docker.io \
    docker-compose \
    docker-doc \
    podman-docker \
    containerd \
    runc || true

echo "==> Installing minimal repo setup tools"
apt-get update
apt-get install -y --no-install-recommends \
    ca-certificates \
    curl

echo "==> Adding Docker official APT repo"
install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/debian/gpg \
    -o /etc/apt/keyrings/docker.asc

chmod a+r /etc/apt/keyrings/docker.asc

cat > /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: ${VERSION_CODENAME}
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

echo "==> Installing build/test packages"
apt-get update
apt-get install -y --no-install-recommends \
    docker-ce \
    docker-buildx-plugin \
    qemu-user-static \
    binfmt-support \
    make

echo "==> Enabling Docker"
systemctl enable --now docker

echo "==> Registering binfmt handlers"
systemctl restart binfmt-support || true

echo "==> Docker version"
docker --version

echo "==> Buildx version"
docker buildx version || true

echo "==> Done"
echo
echo "Optional: allow your normal user to run docker without sudo:"
echo "  sudo usermod -aG docker \$USER"
echo "Then log out and back in."