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
| Requirement | Notes |
|---|---|
| Host OS | AlmaLinux, Rocky Linux, RHEL, Debian, Ubuntu, and local macOS installs are supported by the distribution installer. |
| Node.js + npm | Node.js 18 or newer. Node.js 20 LTS is recommended. |
| Bash, curl, tar | Used by the npm launcher and release installer. |
| PostgreSQL | SeqDesk stores application data in PostgreSQL. SQLite is not supported for new installs. |
| Writable install path | The 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:
| Option | Best for | What the installer can do |
|---|---|---|
| Managed PostgreSQL | Production or shared infrastructure | Provide DATABASE_URL and optional DIRECT_URL; the installer runs migrations and seed. |
| Local PostgreSQL with sudo | Single-host development or internal installs | The installer can install/start PostgreSQL and create the role/database. |
| Local PostgreSQL with Homebrew | MacBook development or evaluation | The installer can use Homebrew PostgreSQL and create the role/database as the current macOS user. |
| Local PostgreSQL without sudo | Locked-down shared servers | Ask 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=publicAdmin 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=publicAfter the admin confirms, run:
npx -y seqdesk@latest -y --reconfigure --reseed-db --dir /path/to/seqdeskInstaller 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/seqdeskIf 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/seqdeskIf 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@16Then 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.
| Requirement | Notes |
|---|---|
| Conda or Miniconda | Used to create pipeline runtime environments. The installer can use an existing Conda path. |
| Nextflow | Required for running packaged workflows. |
| Slurm | Optional. Configure when pipeline jobs should be submitted to a cluster scheduler. |
| Writable run directory | Pipeline 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.