RHEL Base Setup
Full server setup script for RHEL/CentOS. Uses dnf instead of apt and installs Docker from the official Docker repository.
What it does
- System update —
dnf upgrade --refresh, installs vim and cursor - User creation — Creates a user with a prompted password
- Docker — Adds Docker CE repo, installs Docker + plugins, enables and starts the service
- Python — Installs python3 and pip3, installs docker-compose via pip
- Azure CLI — Installs Azure CLI and azcopy (auto-detects ARM64 vs x86_64)
- Shell aliases — Adds
c,s, andllaliases to~/.bashrc - Reboots the system
Script
#!/bin/bash
# Updates
dnf upgrade --refresh -y
dnf install vim -y
dnf install cursor -y
# User creation
username="sean"
read -s -p "Enter password for user $username: " password
echo
useradd -m "$username"
echo "$username:$password" | chpasswd
# Docker
dnf install -y dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl start docker
systemctl enable docker
usermod -aG docker $username
# Python
dnf install -y python3 python3-pip
pip3 install docker-compose
# Azure CLI
dnf install -y libffi-devel python3-devel openssl-devel
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'" >> ~/.bashrc
echo "alias s='sudo'" >> ~/.bashrc
echo "alias ll='ls -la'" >> ~/.bashrc
# Reboot
shutdown -r 0Last updated on