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.

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)
--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
--profile <id>Hosted install profile id (mutually exclusive with --config)
--profile-code <code>Access code for --profile
--setting <id> / --key <code>Aliases for --profile / --profile-code

Infrastructure overrides

FlagDescription
--port <port>App port (default 8000)
--data-path <path>Sequencing data directory
--run-dir <path>Pipeline run directory
--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

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