The fastest way to stage an Ubuntu 24 / RHEL Linux based GPU node
This repo provides a series of bash script installers for: updating & upgrading installed linux packages, essential & core/build Linux packages (Tmux, Node.js, Bun, Go, Rust, Neovim, CUDA, Python, UV), Coding CLIs (Claude Code, Gemini CLI, Grok Build, OMP Coding Agent, OpenAI Code, & OpenCode), as well as Python environment setups for your inference engines of choice (KTransformers, SGLang, vLLM, etc). Any of the prior packages can be skipped during the installation stage. Detailed info with each installation package can be found within the installation guide below.
01_install_dependencies.sh
02_install_coding_clis.sh
03_install_cuda.sh
04_install_python.sh
05_setup_env.sh
06_install_packages.sh
The default work directory for the scripts is /workspace. Edit as needed.
mkdir -p /workspace
cd /workspace
git clone https://github.com/keennay/gpu-cluster-setup.git
mv gpu-cluster-setup scripts
cd scripts
sudo mkdir -p /workspace
sudo chown -R ubuntu:ubuntu /workspace
cd /workspace
git clone https://github.com/keennay/gpu-cluster-setup.git
mv gpu-cluster-setup scripts
cd scripts
./01_install_dependencies.sh
Detailed Steps:
- Update & upgrade Linux packages
- Install Linux essential packages:
- curl, wget, zip, unzip, less, vim, nano, tmux, git, git-lfs, htop, nvtop, ripgrep, bubblegrep
- Install ShellCheck shell script linter
- Install Linux core/build dependencies:
- build-essential, gcc, g++, make, cmake, pkg-config, protobuf-compiler, numactl, libnuma-dev, libhwloc-dev, libssl-dev, libffi-dev, liblzma-dev, libbz2-dev, libreadline-dev, libsqlite3-dev, libncurses-dev, zlib1g-dev
- Install ibtop (InfiniBand monitoring tool)
- Copy Tmux config to ~/.configs/tmux.conf
- Install nvm (Node Version Manager)
- Install Node.js 24 via nvm
- Install Bun JavaScript runtime
- Install Go
- Install Rustup
- Install Neovim
- Alias vi & vim to Neovim
- Install Neovim configs
./02_install_coding_clis.sh
This installs the following coding CLIs: Claude Code, Gemini CLI, Grok Build, OMP, OpenAI Codex, & OpenCode
./03_install_cuda.sh
./04_install_python.sh
source ./05_setup_env.sh
This includes a selection of Python environments customed tailored for:
- DeepSeek (KTransformers, LMDeploy, SGLang, vLLM)
- Gemma (SGLang, vLLM)
- GLM (KTransformers, SGLang, Transformers, vLLM)
- GPT-OSS (Transformers, vLLM)
- Kimi (KTransformers, SGLang, vLLM)
- Ling (SGLang, Transformers, vLLM)
- Minimax (KTransformers, SGLang, Transformers, vLLM)
- Nemotron (SGLang, TRTLLM, vLLM)
- Qwen (KTransformers, SGLang, Transformers, vLLM)
- Custom UV environment
- Custom PIP environment
./06_install_packages.sh
This installs the Python packages corresponding with the currently active Python environment from the prior steps. This is updated periodically.
Template for Running Inference for Models (Also Downloads if model doesn't exist in HuggingFace PATH):
./recipes/***.sh
./install_model.sh
source ./launch_env.sh