Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save andyklimczak/4b5bd2c4a7e9d74b92c778d180f7d1c8 to your computer and use it in GitHub Desktop.

Select an option

Save andyklimczak/4b5bd2c4a7e9d74b92c778d180f7d1c8 to your computer and use it in GitHub Desktop.
Fresh ubuntu vm setup script
sudo bash -c 'set -euo pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get -y upgrade
apt-get install -y ca-certificates curl gnupg lsb-release qemu-guest-agent
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
ARCH=$(dpkg --print-architecture)
CODENAME=$(. /etc/os-release && echo "$VERSION_CODENAME")
echo "deb [arch=$ARCH signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $CODENAME stable" > /etc/apt/sources.list.d/docker.list
apt-get update
apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker
systemctl enable --now qemu-guest-agent
if ! getent group docker >/dev/null; then groupadd docker; fi
usermod -aG docker '"$USER"'
echo
echo "Done. Log out and back in before using docker without sudo."
docker --version || true
docker compose version || true
systemctl --no-pager status qemu-guest-agent | head -n 5 || true
'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment