Installation Guide

S9S can be installed using several methods. Choose the one that best fits your environment.

System Requirements

  • Operating System: Linux, macOS, or Windows
  • Go Version: 1.19 or higher (for building from source)
  • Terminal: 256 color support recommended
  • SLURM Access: Connection to a SLURM cluster (optional - mock mode available)

Installation Methods

1. Quick Install (Recommended)

The easiest way to install S9S is using our installation script:

curl -sSL https://get.s9s.dev | bash

This script will:

  • Detect your operating system
  • Download the appropriate binary
  • Install S9S to
    /usr/local/bin
  • Set up initial configuration

2. Binary Download

Download pre-built binaries from our releases page:

# Linux (AMD64)
wget https://github.com/jontk/s9s/releases/latest/download/s9s-linux-amd64
chmod +x s9s-linux-amd64
sudo mv s9s-linux-amd64 /usr/local/bin/s9s

# macOS (Apple Silicon)
wget https://github.com/jontk/s9s/releases/latest/download/s9s-darwin-arm64
chmod +x s9s-darwin-arm64
sudo mv s9s-darwin-arm64 /usr/local/bin/s9s

# macOS (Intel)
wget https://github.com/jontk/s9s/releases/latest/download/s9s-darwin-amd64
chmod +x s9s-darwin-amd64
sudo mv s9s-darwin-amd64 /usr/local/bin/s9s

3. Using Go Install

If you have Go installed:

go install github.com/jontk/s9s/cmd/s9s@latest

Make sure

$GOPATH/bin
is in your PATH:

export PATH=$PATH:$GOPATH/bin

4. Building from Source

For the latest development version:

# Clone the repository
git clone https://github.com/jontk/s9s.git
cd s9s

# Build the binary
go build -o s9s cmd/s9s/main.go

# Install to system path
sudo mv s9s /usr/local/bin/

# Or install to user directory
mkdir -p ~/.local/bin
mv s9s ~/.local/bin/
export PATH=$PATH:~/.local/bin

5. Package Managers

Homebrew (macOS/Linux)

brew tap jontk/s9s
brew install s9s

Snap (Linux)

sudo snap install s9s

AUR (Arch Linux)

yay -S s9s
# or
paru -S s9s

Post-Installation Setup

1. Verify Installation

s9s --version

2. Initial Configuration

Run the setup wizard:

s9s setup

Or create a config file manually:

mkdir -p ~/.s9s
cat > ~/.s9s/config.yaml << EOF
clusters:
  default:
    url: https://your-slurm-api.example.com
    auth:
      method: token
      token: \${SLURM_TOKEN}
preferences:
  theme: dark
  defaultView: jobs
EOF

3. Test Connection

# Test with your SLURM cluster
s9s

# Or test with mock mode (no SLURM required)
s9s --mock

Docker Installation

For containerized environments:

# Pull the image
docker pull ghcr.io/jontk/s9s:latest

# Run interactively
docker run -it --rm \
  -v ~/.s9s:/root/.s9s \
  -e SLURM_TOKEN=$SLURM_TOKEN \
  ghcr.io/jontk/s9s:latest

# Create an alias for convenience
alias s9s='docker run -it --rm -v ~/.s9s:/root/.s9s -e SLURM_TOKEN=$SLURM_TOKEN ghcr.io/jontk/s9s:latest'

Uninstallation

To remove S9S:

# Remove binary
sudo rm /usr/local/bin/s9s

# Remove configuration (optional)
rm -rf ~/.s9s
rm -rf ~/.config/s9s

# Remove cache (optional)
rm -rf ~/.cache/s9s

Troubleshooting Installation

Permission Denied

If you get permission errors:

# Use sudo for system-wide installation
sudo mv s9s /usr/local/bin/

# Or install to user directory
mkdir -p ~/.local/bin
mv s9s ~/.local/bin/
echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc
source ~/.bashrc

Command Not Found

If

s9s
is not found after installation:

  1. Check if the binary exists:

    ls -la /usr/local/bin/s9s
  2. Ensure the directory is in your PATH:

    echo $PATH
  3. Add to PATH if needed:

    export PATH=$PATH:/usr/local/bin

SSL/TLS Issues

If you encounter SSL certificate errors:

# For self-signed certificates
export S9S_INSECURE_TLS=true

# Or add to config
echo "insecureTLS: true" >> ~/.s9s/config.yaml

Next Steps