Skip to content

Instantly share code, notes, and snippets.

@bskjon
Last active December 10, 2022 18:38
Show Gist options
  • Save bskjon/becb3de2cb3a5ad175bec0cc0fcee4bd to your computer and use it in GitHub Desktop.
Save bskjon/becb3de2cb3a5ad175bec0cc0fcee4bd to your computer and use it in GitHub Desktop.
Docker setup
#!/bin/bash
echo "
_____ ____ _____ ______ _ __ _____
| __ \ / __ \ / ____|| ____|| |/ /| __ \
| | | || | | || | | |__ | ' / | |__) |
| | | || | | || | | __| | < | _ /
| |__| || |__| || |____ | |____ | . \ | | \ \
|_____/ \____/ \_____||______||_|\_\|_| \_\
"
# Requires sudo
apt update -y
apt install -y ca-certificates curl gnupg lsb-release
distro=$(lsb_release -is | tr '[:upper:]' '[:lower:]')
sudo apt-get remove docker docker-engine docker.io containerd runc
rm /usr/share/keyrings/docker-archive-keyring.gpg
curl -fsSL "https://download.docker.com/linux/$distro/gpg" | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] "https://download.docker.com/linux/$distro" \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update -y
apt install -y docker-ce docker-ce-cli containerd.io
# Docker compose
version=$(basename $(curl -fs -o/dev/null -w %{redirect_url} https://github.com/docker/compose/releases/latest))
if [[ $(uname -m) == "arm"* ]]
then
wget -O /usr/local/bin/docker-compose "https://github.com/docker/compose/releases/download/$version/docker-compose-$(uname -s)-$(uname -m)"
if [ $? != 0 ]; then
rm /usr/local/bin/docker-compose
architecture=$(uname -m | grep -o -P "^(.*?)[0-9]+")
wget -O /usr/local/bin/docker-compose "https://github.com/docker/compose/releases/download/$version/docker-compose-$(uname -s)-$architecture"
fi
else
curl -L "https://github.com/docker/compose/releases/download/$version/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
fi
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
systemctl enable docker.service
systemctl enable containerd.service
username=$(env | grep SUDO_USER | cut -d "=" -f 2)
if [ $username ]; then
echo "Found user $username"
groupadd docker
usermod -aG docker $username
else
echo "Was already sudo"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment