Job Server Quick Install Script
The $SCHRODINGER/utilities/setup_jobserver script automates the installation and configuration of:
-
Job Server
- a SLURM queueing system (this will be skipped if already present)
on a single-node Linux workstation.
Prerequisites
Before running the script, ensure your system meets the following requirements:
-
Administrative Privileges: You must have root or sudo access to install software and configure system services.
-
Schrödinger Suite 2025-3 or newer: See the Linux Installation Guide for more information.
-
Shared Installation Path: The Schrödinger suite must be installed in a directory that is accessible to all users on the system. The default installation location under /opt is ideal / recommended as it usually fulfills this requirement.
This is crucial because the Job Server runs as a separate system user (jobserver) that needs permission to read the files in $SCHRODINGER. An installation in a private home directory (e.g. /home/schroduser/) will likely fail unless permissions are manually adjusted.
-
Schrödinger License Manager Configuration: The machine should be configured with access to Schrödinger licenses. See the Client Machine Set-up for more information.
-
Supported Linux Distribution: The script only runs on Schrödinger-supported Linux distributions.
-
NVIDIAdrivers: In case the workstation is equipped with an NVIDIAGPU, please make sure that Schrödinger-supported NVIDIAdrivers are installed.
-
Internet Access: The script requires outbound internet access to download necessary components. It contacts the following sources:
-
Schrödinger's GitHub repository (for OS package lists): https://raw.githubusercontent.com/
-
SchedMD (for the SLURM installer): https://download.schedmd.com
-
Fedora Project (for EPEL packages, on RHEL/Rocky only): https://dl.fedoraproject.org
-
Required Linux OS packages: The packages lshw, wget, and bzip2 must be installed.
-
On Rocky Linux or RHEL, run:
sudo dnf update
sudo dnf install -y lshw wget bzip2If using RHEL, we recommend to ensure that the Codeready Builder repository (CRB) is enabled before running the script. For instructions, see the Red Hat Customer Portal article on Codeready Linux Builder.
-
On Ubuntu, run:
sudo apt update
sudo apt install -y lshw wget bzip2
-
Using the automated Job Server installation script
1. Set the $SCHRODINGER environment variable
Make sure it points to the correct installation directory. For example:
export SCHRODINGER=/opt/schrodinger/suite2026-1
2. Run the setup_jobserver script
Execute the following command with sudo to run the setup:
sudo $SCHRODINGER/utilities/setup_jobserver
When you execute the command, the following automated steps are performed:
System detection: The script inspects your system to identify the Schrödinger installation path (via $SCHRODINGER), its version, the Linux OS, and the hardware configuration.
OS preparation: It ensures all necessary OS-level dependencies for the Schrödinger suite are installed.
Job Server setup: The script performs a full Job Server setup for a single-node machine, which includes:
- Creating a jobserver user
- Installing Job Server executables for the SLURM queueing system in /opt/schrodinger/jobserver/
- Configuring and starting up the jobserverd systemd service
- Setting Job Server as the default job submission system for the Schrödinger installation
- Creating a centralized hosts file at /opt/schrodinger/jobserver/config/hosts.yml to define CPU and GPU resources (using IGNORE_SCHRODINGER_HOSTS).
SLURM setup and configuration: The script checks for an existing SLURM queueing system installation by looking for the sbatch executable.
- If the sbatch executable is found, a new installation of SLURM is skipped
- If no sbatch executable is found, you will be prompted to confirm the automatic download, installation, and configuration of SLURM.
3. Validate Job Server and SLURM Installation
Once the process is complete, your Schrödinger installation will be fully configured to use Job Server as the central job submission system in conjunction with SLURM as the queueing system.
In order to confirm that the Job Server (jobserverd) and SLURM (slurmctld, slurmd) system processes are running fine, please make sure that the following terminal commands list their status as ‘active (running)’:
systemctl status jobserverd
systemctl status slurmctld
systemctl status slurmd
Connecting client machines with the Job Server
In order to connect client machines for job submission with this Job Server, the following commands need to be run on the client machine:
# Enable Job Server and centralized hosts file features
$SCHRODINGER/utilities/feature_flags -e JOB_SERVER
$SCHRODINGER/utilities/feature_flags -e IGNORE_SCHRODINGER_HOSTS
# Retrieve the user certificate from the Job Server
$SCHRODINGER/jsc cert get <jobserver_hostname>:8030
(replace <jobserver_hostname> with the actual hostname or IP address of the machine where you ran the setup script)
The exact instructions on how to connect a client machine with the newly set up Job Server are also provided in the ‘Setup Summary’ section that the setup_jobserver script prints out on the terminal.
Continue with the steps mentioned in Test the Setup to check if you are able to submit jobs successfully from the client machine to the set up Job Server.