Skip to Content
InstallationPrerequisites

Prerequisites

SeqDesk runs on standard Linux servers and can also run as a local MacBook instance for development or evaluation. It needs Node.js/npm plus a PostgreSQL database. Pipeline execution is optional and adds Conda, Nextflow, and possibly Slurm requirements.

Required

RequirementNotes
Host OSAlmaLinux, Rocky Linux, RHEL, Debian, Ubuntu, and local macOS installs are supported by the distribution installer.
Node.js + npmNode.js 18 or newer. Node.js 20 LTS is recommended.
Bash, curl, tarUsed by the npm launcher and release installer.
PostgreSQLSeqDesk stores application data in PostgreSQL. SQLite is not supported for new installs.
Writable install pathThe install user must be able to write the install directory, data directory, and optional pipeline run directory.

The installer checks the environment before doing any work. On an unrecognized Linux distribution or a CPU architecture other than x86_64/arm64 it prints an “untested environment” warning and proceeds at your own risk; unrecognized distributions are mapped through /etc/os-release so Debian/Ubuntu and RHEL/Fedora derivatives still receive the correct package-install hints. Missing curl, tar, or a checksum tool (sha256sum/shasum) are reported upfront with platform-specific install commands rather than failing later in the run.

PostgreSQL options

Use one of these approaches:

OptionBest forWhat the installer can do
Managed PostgreSQLProduction or shared infrastructureProvide DATABASE_URL and optional DIRECT_URL; the installer runs migrations and seed.
Local PostgreSQL with sudoSingle-host development or internal installsThe installer can install/start PostgreSQL and create the role/database.
Local PostgreSQL with HomebrewMacBook development or evaluationThe installer can use Homebrew PostgreSQL and create the role/database as the current macOS user.
Local PostgreSQL without sudoLocked-down shared serversAsk an admin to install/start PostgreSQL and create the role/database first.

The application user does not need sudo after PostgreSQL is prepared. It only needs a valid connection string such as:

postgresql://seqdesk:<password>@127.0.0.1:5432/seqdesk?schema=public

Admin request for AlmaLinux/RHEL

If your account cannot use sudo, send this to the server administrator and replace <password> with the value you want in DATABASE_URL:

Please prepare PostgreSQL for a local SeqDesk instance on this AlmaLinux/RHEL host. Install and start PostgreSQL: sudo dnf install -y postgresql-server postgresql-contrib sudo postgresql-setup --initdb sudo systemctl enable --now postgresql Create the SeqDesk role and database: sudo -u postgres psql <<'SQL' CREATE ROLE seqdesk LOGIN PASSWORD '<password>'; CREATE DATABASE seqdesk OWNER seqdesk; SQL Please make sure local password authentication from 127.0.0.1 works for: postgresql://seqdesk:<password>@127.0.0.1:5432/seqdesk?schema=public

After the admin confirms, run:

npx -y seqdesk@latest -y --reconfigure --reseed-db --dir /path/to/seqdesk

Installer PostgreSQL bootstrap

When a sudo-capable account is available, the installer can perform the local PostgreSQL setup as a separate bootstrap step. On a fresh host with no existing install, --prepare-postgres needs the target connection string, so pass SEQDESK_DATABASE_URL (or --database-url); otherwise it exits with No DATABASE_URL found:

sudo env PATH="$PATH" SEQDESK_DATABASE_URL="postgresql://seqdesk:<password>@127.0.0.1:5432/seqdesk?schema=public" \ npx -y seqdesk@latest -y --prepare-postgres --dir /path/to/seqdesk

If you point --dir at an existing SeqDesk install, the URL is read from its configuration and the explicit SEQDESK_DATABASE_URL can be omitted.

Then continue as the normal SeqDesk install user:

npx -y seqdesk@latest -y --reconfigure --reseed-db --dir /path/to/seqdesk

If sudo does not preserve access to npx, install the SeqDesk launcher system-wide or ask the admin to run the SQL setup directly.

macOS prerequisites

For a local MacBook install, install Node.js and PostgreSQL with Homebrew:

brew install node postgresql@16 brew services start postgresql@16

Then install with the npm launcher — see the macOS install guide, which uses a local ~/seqdesk directory, port 8000, and local PostgreSQL.

Optional pipeline prerequisites

Pipeline support is optional. Enable it only on hosts where SeqDesk should run or submit bioinformatics workflows.

RequirementNotes
Conda or MinicondaUsed to create pipeline runtime environments. The installer can use an existing Conda path.
NextflowRequired for running packaged workflows.
SlurmOptional. Configure when pipeline jobs should be submitted to a cluster scheduler.
Writable run directoryPipeline work and result files should live on storage with enough quota for sequencing workloads.

For locked-down HPC systems, ask the admin which Conda path, Slurm partition, memory limits, and writable run directory should be used before creating the infrastructure JSON.