Quickstart
Use the npm launcher for guided setup when Node.js/npm is already available. Before installing on a shared server, review the installation prerequisites, especially the PostgreSQL role/database requirement.
npm i -g seqdesk
seqdeskUnder the hood, the launcher downloads https://seqdesk.com/install.sh over
HTTPS and executes it with bash. The public command should still be the npm
launcher; the direct shell script is an advanced fallback for environments where
npm cannot be used. The launcher pins SEQDESK_VERSION to the npm package
version (unless you set it yourself), so seqdesk@1.1.82 installs SeqDesk
1.1.82 — upgrade the launcher (npm i -g seqdesk@latest) before installing a
newer release. The npm tarball also ships a
manual install checklist
useful for end-to-end verification on a fresh host.
Installer output and behavior come from the deployed
SeqDesk.com/public/install.sh file. Changes made in the SeqDesk app
repository are not visible to the npm launcher or fallback curl command until
that public installer file has been updated and SeqDesk.com has been deployed.
Install location depends on where you run the command. The default target is ./seqdesk relative to your current directory.
For predictable installs, set an explicit absolute path with --dir:
seqdesk -y --dir /opt/seqdeskFor local macOS installs, install the Homebrew prerequisites first and use the same launcher — see the macOS install guide.
Advanced fallback when npm is unavailable:
curl -fsSL https://seqdesk.com/install.sh | bashWhat this gives you
- Core SeqDesk platform on your own infrastructure
- Interactive prompts for runtime and pipeline settings
- A baseline setup you can later convert into unattended automation
Guided wizard (--interactive)
For a first install, add --interactive for a short setup wizard that walks you
through the choices most people get wrong on the first try:
seqdesk --interactiveIt asks:
- Database — use a local PostgreSQL the installer sets up, or paste an existing/managed connection string. For a managed URL it runs a quick reachability check and tells you whether the host looks reachable before the install continues (full credentials are verified later, during migrations).
- Accounts — the admin email/password and an optional researcher (non-admin) account. Emails are validated, passwords must be at least 8 characters and are confirmed, and you can leave a password blank to have a strong one generated and shown once.
The wizard only changes what you’re prompted for — it does not run under -y,
--config, or --profile, so automated and unattended installs are unaffected.
PostgreSQL setup
SeqDesk needs a PostgreSQL database before migrations can complete. If the
installer runs as a sudo-capable account, it can prepare local PostgreSQL
automatically. On locked-down servers, ask the administrator to prepare the
database first, then provide the resulting DATABASE_URL during install or in
your config file.
On macOS, the installer uses Homebrew PostgreSQL when available. See the macOS install guide for the exact command and verification steps.
Verify the install
After the installer finishes, run seqdesk doctor
against the install directory to confirm the layout is intact, the database is
reachable, and (if the app is running) the HTTP probes pass:
seqdesk doctor --dir /opt/seqdeskFrom source
For development checkouts or CI, use the source installer instead of the distribution one:
bash scripts/install.sh -y --dir ./seqdesk-sourceThe source installer accepts most of the same runtime, secret, and pipeline
flags as the distribution installer, plus --branch <branch> to pin the Git ref
(it has no --version). It does not support the distribution-only flags:
--reconfigure/--reseed-db--prepare-postgres--use-pm2/--no-pm2--run-doctor--additional-setting/--additional-settings/--additional-settings-file--pipeline-db-dir/--pipeline-database-dir
Override the upstream repository with SEQDESK_REPO, the branch with
SEQDESK_BRANCH.