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.

NOTE: The Quick Install Script is the recommended way of introducing Job Server in environments where client users are submitting jobs locally or remotely to Linux compute workstations. It will not work for HPC installation. For HPC set up or to install to a local machine manually without the script, follow the steps listed for HPC installation.

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:

  • Required Linux OS packages: The packages lshw, wget, and bzip2 must be installed.

    • 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:

  1. 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.

  2. OS preparation: It ensures all necessary OS-level dependencies for the Schrödinger suite are installed.

  3. 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).
  4. 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.

Note: If you will be using Schrödinger software on the license server machine itself, that machine must also be configured as a client.

 

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.