Skip to content

Instantly share code, notes, and snippets.

@goddoe
Last active October 8, 2025 17:40
Show Gist options
  • Select an option

  • Save goddoe/59324ae1b28c9bca7708d4c2f8f77010 to your computer and use it in GitHub Desktop.

Select an option

Save goddoe/59324ae1b28c9bca7708d4c2f8f77010 to your computer and use it in GitHub Desktop.
install_tmux_docker_uv_on_redhat.sh
#!/bin/bash
set -e # Exit on error
echo "=========================================="
echo "Installing tmux, docker, and uv"
echo "=========================================="
echo ""
# Check if running as root
if [ "$EUID" -ne 0 ]; then
SUDO="sudo"
else
SUDO=""
fi
# Install tmux
echo "1. Installing tmux..."
$SUDO dnf install -y tmux
if command -v tmux &> /dev/null; then
echo "✓ tmux installed successfully: $(tmux -V)"
else
echo "✗ tmux installation failed"
exit 1
fi
echo ""
# Install Docker
echo "2. Installing Docker..."
# Remove old versions if exist
$SUDO dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine podman runc 2>/dev/null || true
# Install required packages
$SUDO dnf install -y dnf-plugins-core
# Add Docker repository
$SUDO dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo || \
$SUDO dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Install Docker Engine
$SUDO dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Start and enable Docker service
$SUDO systemctl start docker
$SUDO systemctl enable docker
# Add current user to docker group (if not root)
if [ "$EUID" -ne 0 ]; then
$SUDO /sbin/usermod -aG docker $USER 2>/dev/null || echo "Warning: Failed to add user to docker group"
echo "Note: You may need to log out and back in for docker group membership to take effect"
fi
if command -v docker &> /dev/null; then
echo "✓ Docker installed successfully: $(docker --version)"
else
echo "✗ Docker installation failed"
exit 1
fi
echo ""
# Install uv
echo "3. Installing uv..."
curl -LsSf https://astral.sh/uv/install.sh | sh
# Source the environment to make uv available
export PATH="$HOME/.local/bin:$PATH"
if command -v uv &> /dev/null; then
echo "✓ uv installed successfully: $(uv --version)"
else
echo "✗ uv installation failed"
exit 1
fi
echo ""
echo "=========================================="
echo "All tools installed successfully!"
echo "=========================================="
echo ""
echo "Summary:"
echo "- tmux: $(tmux -V)"
echo "- docker: $(docker --version)"
echo "- uv: $(uv --version)"
echo ""
echo "Note: For docker commands without sudo, please log out and back in."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment