Last active
October 8, 2025 17:40
-
-
Save goddoe/59324ae1b28c9bca7708d4c2f8f77010 to your computer and use it in GitHub Desktop.
install_tmux_docker_uv_on_redhat.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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