Basic Setup

How to install and configure the HPC Dashboard for your SLURM cluster

Setting up the HPC Dashboard requires Node.js and access to a SLURM cluster with API capabilities. Follow these steps to get your dashboard up and running quickly.

Prerequisites

Before installation, ensure you have:

  • Node.js (v20 or later)
  • npm or Yarn
  • PM2 (for production deployment)
  • SLURM cluster with REST API enabled
  • SLURM API user credentials
  • SLURM API token
  • Root permissions on the installation system

Quick Installation

Step 1: Clone the Repository

Begin by installing the dashboard. You will be required to select a branch. Normally the main branch is recommended.

npx create-slurm-dashboard slurm-node-dashboard

Once complete, change in to the directory.

cd slurm-node-dashboard

Step 2: Install Dependencies

Install all required dependencies:

npm install

Step 3: Configure Environment

setup your production environment by moving the .env.production to .env

mv .env.production .env

update the file for your environment

# GENERAL SETTINGS
NODE_ENV="production"
REACT_EDITOR="code"

# Cluster branding
COMPANY_NAME="Acme Corp"
CLUSTER_NAME="My Cluster"
CLUSTER_LOGO="/logo.png"

# Support URL (optional)
NEXT_PUBLIC_SUPPORT_URL="https://support.example.com"

# SLURM REST API CONNECTION
SLURM_PROTOCOL="http"
SLURM_SERVER="192.168.1.5"
SLURM_API_VERSION="v0.0.40"
SLURM_API_TOKEN=""
SLURM_API_ACCOUNT=""

# PROMETHEUS MONITORING (Optional)
PROMETHEUS_URL="http://prometheus:9090"

# AI ASSISTANT (Optional)
OPENAI_API_KEY=""
OPENAI_API_URL="https://api.openai.com/v1"
OPENAI_API_MODEL="gpt-4o-mini"
OPENAI_API_MODEL_SUGGESTION="gpt-4o-mini"

# ADMIN AUTHENTICATION
ADMIN_USERNAME="admin"
ADMIN_PASSWORD="password"

# FEATURE FLAGS / PLUGINS
NEXT_PUBLIC_MAINT_NOTIFICATIONS_ENABLED="true"
NEXT_PUBLIC_ENABLE_MODULES_PLUGIN="true"
NEXT_PUBLIC_ENABLE_HISTORY_PLUGIN="true"
NEXT_PUBLIC_ENABLE_JOB_METRICS_PLUGIN="false"
NEXT_PUBLIC_ENABLE_OPENAI_PLUGIN="false"
NEXT_PUBLIC_ENABLE_PROMETHEUS_PLUGIN="false"
NEXT_PUBLIC_ENABLE_INFLUXDB_PLUGIN="false"

# METRICS DATABASE (Required if Job Metrics plugin is enabled)
SLURM_JOB_METRICS_DATABASE_URL="postgresql://user:password@localhost:5432/slurm_metrics"

# Hierarchy labels
NEXT_PUBLIC_HIERARCHY_LEVEL1_LABEL="College"
NEXT_PUBLIC_HIERARCHY_LEVEL2_LABEL="Department"

Configuration Required:

Make sure to update the SLURM_SERVER, SLURM_API_TOKEN, and SLURM_API_ACCOUNT fields with your specific values.

Step 4: Start Development Server

Launch the development server to test your installation:

npm run dev

Visit http://localhost:3000 in your browser to view the dashboard.

What's Next?

After installation, you can:

  • Configure advanced features like OpenAI integration or Prometheus metrics
  • Set up data collection scripts for historical data
  • Integrate with Open OnDemand

Documentation:

See the documentation on Advanced Configuration for more details on customizing your dashboard installation.