Skip to Content
InstallationUnattended + Reconfigure

Unattended + Reconfigure

Install the launcher once, then use -y for non-interactive mode and pass your JSON with --config.

npm i -g seqdesk seqdesk -y --config ./infrastructure-setup.json

The seqdesk launcher is the supported entry point. It downloads and executes the public installer script internally.

Confirm the host meets the installation prerequisites before running unattended installs. In particular, PostgreSQL must already be reachable unless the installer is allowed to bootstrap a local PostgreSQL service through sudo.

You can also download the template we host and point the installer at a remote URL directly:

wget https://seqdesk.com/infrastructure-setup.json -O infrastructure-setup.json
seqdesk -y --config https://seqdesk.com/infrastructure-setup.json

To re-apply changed JSON values to an existing install in place:

seqdesk -y --reconfigure --config ./infrastructure-setup.json

Reconfigure updates keys present in your JSON. Omitted keys keep their current values.

Reconfigure skips DB push and seed by default to preserve existing data. If you explicitly want DB push and seed, use:

seqdesk -y --reconfigure --reseed-db --config ./infrastructure-setup.json

Path reminder: local --config and default ./seqdesk are resolved from your current working directory. Use absolute paths in automation.

Installing over an existing directory

A fresh install refuses to overwrite an existing target directory. In interactive mode it asks Backup and replace?; with -y it aborts instead, so an automated run never clobbers a directory silently.

Pass --overwrite-existing (or set SEQDESK_OVERWRITE_EXISTING=1) to let an unattended install replace an existing directory. The existing directory is moved to <dir>.backup.<timestamp> and a fresh install proceeds:

seqdesk -y --dir /opt/seqdesk --overwrite-existing

This keeps the previous install as a timestamped backup rather than deleting it. If the new install fails before it activates, the installer automatically restores the backup (or prints the exact restore command), so a failed run never leaves the host without a working install. To update an existing install in place without re-extracting, use --reconfigure instead.

Preload form builders

Order and study form builders can be exported from an existing SeqDesk instance as JSON, then applied during install. This is useful when a facility wants a new instance to start with the approved order form and study metadata form already configured.

seqdesk -y \ --config ./infrastructure-setup.json \ --order-form-settings /absolute/path/order-form.json \ --study-form-settings /absolute/path/study-form.json

The same values can be passed with environment variables:

export SEQDESK_ORDER_FORM_SETTINGS="/absolute/path/order-form.json" export SEQDESK_STUDY_FORM_SETTINGS="/absolute/path/study-form.json" seqdesk -y --config ./infrastructure-setup.json

The installer applies these files after database migration and seed. The JSON files should be the exports from Admin > Order Form > Import / Export and Admin > Study Forms > Import / Export.

Full installer flag reference

Every flag accepted by the seqdesk npm launcher. Most flags have a matching SEQDESK_* environment variable; see Environment Variables for the installer-only variables.

Mode and target

FlagDescription
-y, --yesNon-interactive; accept defaults
--dir <path>Install directory (default ./seqdesk)
--overwrite-existingWith -y, back up an existing install dir to <dir>.backup.<timestamp> and replace it
--version <version>Specific release version (default: latest)
--reconfigureRe-apply config to an existing install in place
--reseed-dbForce DB push + seed (off by default during --reconfigure)
--prepare-postgresPrepare a local PostgreSQL role/database, then exit

Configuration source

FlagDescription
--config <path-or-url>Infrastructure JSON file or URL
--additional-setting <path=value>Repeatable local override applied after --config
--additional-settings <path=value...>One or more local overrides in a single flag
--additional-settings-file <path>JSON override file for Puppet or other deployment automation

Infrastructure overrides

FlagDescription
--port <port>App port (default 8000)
--data-path <path>Sequencing data directory
--run-dir <path>Pipeline run directory
--pipeline-db-dir <path>Pipeline database asset directory (alias --pipeline-database-dir; maps to pipelines.databaseDirectory)
--database-url <url>DATABASE_URL override
--database-direct-url <url>DIRECT_URL for Prisma migrations
--nextauth-url <url>NEXTAUTH_URL override
--nextauth-secret <secret>NEXTAUTH_SECRET override

Secrets

FlagDescription
--anthropic-api-key <key>Optional Anthropic API key
--admin-secret <secret>Release publishing admin secret
--blob-read-write-token <token>Vercel Blob token

Pipelines

FlagDescription
--with-pipelinesEnable pipeline dependencies (Conda + Nextflow)
--without-pipelinesSkip pipeline setup
--skip-depsDeprecated; ignored in the distribution installer

Process management

FlagDescription
--use-pm2Start under PM2 with auto-restart
--no-pm2Disable PM2; use systemd or manual start

Diagnostics

FlagDescription
--run-doctorRun seqdesk doctor after a successful install when the CLI is available

Form presets

FlagDescription
--order-form-settings <path>Order form JSON to apply after seed
--study-form-settings <path>Study form JSON to apply after seed