Installation
This guide will help you install gflow on your system.
Prerequisites
- Operating System: Linux (tested on Ubuntu 20.04+)
- Rust: Version 1.70+ (for building from source)
- tmux: Required for job execution
- NVIDIA GPU (optional): For GPU job scheduling
- NVIDIA drivers (optional): If using GPU features
Installing Prerequisites
Ubuntu/Debian
# Install tmux
sudo apt-get update
sudo apt-get install tmux
# Install Rust (if building from source)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/envFedora/RHEL
# Install tmux
sudo dnf install tmux
# Install Rust (if building from source)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/envInstallation Methods
Method 1: Quick Install with Pre-built Binaries (Recommended)
This is the fastest way to install gflow on Linux x86_64:
Using our global CDN (faster, works in GitHub-restricted regions):
curl -fsSL https://gflow-releases.puqing.work/install.sh | shOr using GitHub:
curl -fsSL https://raw.githubusercontent.com/AndPuQing/gflow/main/install.sh | shThe installer automatically:
- Tries the CDN first, falls back to GitHub if needed
- Downloads the latest release binaries
- Installs to
~/.cargo/bin/(customizable withGFLOW_INSTALL_DIR) - Installs all binaries:
gflowd,ginfo,gbatch,gqueue,gcancel,gjob,gctl
Custom installation directory:
curl -fsSL https://gflow-releases.puqing.work/install.sh | GFLOW_INSTALL_DIR=/usr/local/bin shMethod 2: Install via Cargo
Build and install from crates.io:
cargo install gflowThis will compile and install all binaries to ~/.cargo/bin/, which should be in your PATH.
Method 3: Build from Source
If you want to build from the latest source code:
Clone the repository:
bashgit clone https://github.com/AndPuQing/gflow.git cd gflowBuild the project:
bashcargo build --releaseThe executables will be in
target/release/.Install to system (optional):
bashcargo install --path .
Method 4: Manual Download from CDN or GitHub
Download pre-built binaries directly:
From CDN:
- Latest release:
https://gflow-releases.puqing.work/releases/latest/ - Specific version:
https://gflow-releases.puqing.work/releases/v0.4.5/(replace with desired version)
From GitHub:
- Visit the Releases page
- Download the
gflow_vX.X.X_x86_64-unknown-linux-musl.tar.gzarchive - Extract and copy binaries to a directory in your
PATH
Verify Installation
After installation, verify that gflow is properly installed:
Check versions:
$ gflowd --version
<!-- cmdrun gflowd --version -->$ ginfo --version
<!-- cmdrun ginfo --version -->$ gbatch --version
<!-- cmdrun gbatch --version -->$ gqueue --version
<!-- cmdrun gqueue --version -->$ gcancel --version
<!-- cmdrun gcancel --version -->Verify commands are in PATH:
$ which ginfoAll commands are properly installed and available in your PATH.
Post-Installation Setup
1. Test tmux
Make sure tmux is working:
tmux new-session -d -s test
tmux has-session -t test && echo "tmux is working!"
tmux kill-session -t test2. GPU Detection (Optional)
If you have NVIDIA GPUs, verify they're detected:
# Start the daemon
$ gflowd up
# Verify it started
$ gflowd statusCheck system info and GPU allocation:
$ ginfoThe daemon shows GPU information if NVIDIA GPUs are available.
3. Create Configuration Directory
gflow will create this automatically, but you can do it manually:
mkdir -p ~/.config/gflow
mkdir -p ~/.local/share/gflow/logsConfiguration Files
gflow uses the following directories:
| Location | Purpose |
|---|---|
~/.config/gflow/gflowd.toml | Configuration file (optional) |
~/.local/share/gflow/state.json | Persistent job state |
~/.local/share/gflow/logs/ | Job output logs |
Troubleshooting
Issue: Command not found
If you get "command not found" after installation:
Check if
~/.cargo/binis in your PATH:bashecho $PATH | grep -o ~/.cargo/binAdd to PATH if missing (add to
~/.bashrcor~/.zshrc):bashexport PATH="$HOME/.cargo/bin:$PATH"Reload shell:
bashsource ~/.bashrc # or ~/.zshrc
Issue: GPU not detected
Check NVIDIA drivers:
bashnvidia-smiVerify NVML library:
bashldconfig -p | grep libnvidia-mlIf GPU detection fails, gflow will still work but won't manage GPU resources.
Updating gflow
If installed via cargo:
cargo install gflow --forceIf built from source:
cd gflow
git pull
cargo build --release
cargo install --path . --forceUninstallation
To remove gflow:
# Stop the daemon first
gflowd down
# Uninstall binaries
cargo uninstall gflow
# Remove configuration and data (optional)
rm -rf ~/.config/gflow
rm -rf ~/.local/share/gflowNext Steps
Now that gflow is installed, head to the Quick Start Guide to learn how to use it!
Previous: Introduction | Next: Quick Start