Skip to Content
Bash & LinuxUbuntu Base Setup

Ubuntu Base Setup

Full server setup script for Ubuntu (including Raspberry Pi). Installs core packages, creates a user, sets up Docker, Python, Azure CLI, and azcopy.

What it does

  1. System updateapt update, apt upgrade, apt full-upgrade, installs vim and cursor, refreshes snaps
  2. User creation — Creates a user with a prompted password
  3. Docker — Installs Docker via the convenience script, adds user to docker group, enables on startup
  4. Python — Installs python3 and pip3, installs docker-compose via pip
  5. Azure CLI — Installs Azure CLI and azcopy (auto-detects ARM64 vs x86_64)
  6. Shell aliases — Adds c, s, and ll aliases to ~/.bash_aliases
  7. Reboots the system

Script

#!/bin/bash # Updates apt update apt upgrade -y apt full-upgrade -y apt install vim -y apt install cursor -y snap refresh # User creation username="sean" read -s -p "Enter password for user $username: " password echo useradd -m "$username" echo "$username:$password" | chpasswd # Docker curl -sSL https://get.docker.com | sh sudo usermod -aG docker $username # Python apt install python3 -y apt install python3-pip -y pip3 install docker-compose # Docker on startup systemctl enable docker # Azure CLI apt install libffi-dev python3-dev openssl curl -L https://aka.ms/InstallAzureCli | bash # azcopy (architecture-aware) ARCH=$(uname -m) if [[ "$ARCH" == "aarch64" ]]; then wget -O downloadazcopy-v10-linux-arm64 https://aka.ms/downloadazcopy-v10-linux-arm64 tar -xf downloadazcopy-v10-linux-arm64 mv azcopy_linux_arm64/azcopy /usr/local/bin/ rm -rf downloadazcopy-v10-linux-arm64 azcopy_linux_arm64 elif [[ "$ARCH" == "x86_64" ]]; then wget -O downloadazcopy-v10-linux-x64.tar.gz https://aka.ms/downloadazcopy-v10-linux tar -xf downloadazcopy-v10-linux-x64.tar.gz mv azcopy_linux_amd64_*/azcopy /usr/local/bin/ rm -rf downloadazcopy-v10-linux-x64.tar.gz azcopy_linux_amd64_* fi # Aliases echo "alias c='cursor'" >> ~/.bash_aliases echo "alias s='sudo'" >> ~/.bash_aliases echo "alias ll='ls -la'" >> ~/.bash_aliases # Reboot shutdown -r 0
Last updated on