Skip to Content
InstallationInfrastructure JSON

Infrastructure JSON

Create a file named infrastructure-setup.json to pre-configure your environment. In interactive mode, the installer asks for these values one by one. The config file lets you skip prompts and automate setup.

Before using unattended JSON on a server, confirm the installation prerequisites. The databaseUrl must point to an existing PostgreSQL database unless the installer can bootstrap local PostgreSQL with sudo.

For a lightweight first install, start with:

{ "port": 8000, "pipelinesEnabled": false }

For full infrastructure control, use a complete config template:

{ "port": 8000, "pipelinesEnabled": true, "nextAuthUrl": "http://seqdesk-host:8000", "databaseUrl": "postgresql://seqdesk:replace-with-password@127.0.0.1:5432/seqdesk?schema=public", "directUrl": "postgresql://seqdesk:replace-with-password@127.0.0.1:5432/seqdesk?schema=public", "anthropicApiKey": "replace-with-anthropic-api-key", "sequencingDataDir": "/data/sequencing", "pipelineRunDir": "/data/pipeline_runs", "useSlurm": true, "slurmQueue": "cpu", "slurmCores": 4, "slurmMemory": "64GB", "slurmTimeLimit": 12, "slurmOptions": "--qos=standard", "condaPath": "/opt/miniconda3", "condaEnv": "seqdesk-pipelines", "nextflowProfile": "conda", "nextflowWeblogUrl": "http://seqdesk-host:8000/api/pipelines/weblog", "weblogSecret": "replace-with-random-secret", "forms": { "order": "/absolute/path/order-form.json", "study": "/absolute/path/study-form.json" }, "privatePipelines": { "metaxpath": { "packageUrl": "https://www.seqdesk.com/api/private/metaxpath/0.1.0", "key": "replace-with-metaxpath-key", "sha256": "78a9d569af34dac31fd825e9ee4b1ab79f839de0708fd4ec47144af73871808a" } } }

Use placeholder values in any file you share publicly.

Field reference

Core

  • port: HTTP port SeqDesk listens on.
  • pipelinesEnabled: Set to false to skip pipeline setup during install.
  • nextAuthUrl: Public base URL used for authentication callbacks.
  • databaseUrl: PostgreSQL runtime connection string.
  • directUrl: Optional direct PostgreSQL connection for Prisma migrations. When omitted, SeqDesk uses databaseUrl.
  • anthropicApiKey: Optional Anthropic API key for AI validation features.

Storage and runtime

  • sequencingDataDir: Root directory containing raw sequencing run folders.
  • pipelineRunDir: Directory for pipeline execution output and work files.
  • useSlurm: Enable Slurm job submission; when false, pipelines run locally.
  • slurmQueue: Slurm partition/queue.
  • slurmCores: CPU cores requested per Slurm job.
  • slurmMemory: Memory per Slurm job (for example "64GB").
  • slurmTimeLimit: Maximum wall-clock hours per Slurm job.
  • slurmOptions: Extra sbatch flags (QOS, account, etc.).

Conda and Nextflow

  • condaPath: Path to Conda/Miniconda used by pipelines.
  • condaEnv: Conda environment name for SeqDesk pipeline dependencies.
  • nextflowProfile: Nextflow profile (conda, docker, singularity).
  • nextflowWeblogUrl: Endpoint where Nextflow sends run progress events.
  • weblogSecret: Shared secret used to authenticate weblog requests.

Private pipeline package

  • privatePipelines.metaxpath.packageUrl: Private tarball URL for MetaxPath.
  • privatePipelines.metaxpath.key: Bearer token used to download the private package.
  • privatePipelines.metaxpath.sha256: Optional tarball checksum for integrity verification.

The same values can be passed as installer environment variables instead of (or in addition to) the JSON file:

VariableAliasMaps to
SEQDESK_METAXPATH_PACKAGE_URLMETAXPATH_PACKAGE_URLprivatePipelines.metaxpath.packageUrl
SEQDESK_METAXPATH_KEYMETAXPATH_PACKAGE_TOKENprivatePipelines.metaxpath.key
SEQDESK_METAXPATH_SHA256METAXPATH_PACKAGE_SHA256privatePipelines.metaxpath.sha256

Use environment variables in CI to keep the access token out of the JSON file that ships with your deployment automation.

Form presets

Use form presets to apply exported form builder JSON during installation. The installer reads these files after migrations and seed:

  • forms.order: JSON exported from Admin > Order Form > Import / Export.
  • forms.study: JSON exported from Admin > Study Forms > Import / Export.

Equivalent top-level keys are also accepted:

  • orderFormSettings or order_form_settings
  • studyFormSettings or study_form_settings

For command-line-only installs, use --order-form-settings and --study-form-settings. Use absolute paths in unattended automation so the installer can find the files regardless of the current working directory.

Configure later in app

  • Admin > Data Storage: Set sequencing data base path.
  • Admin > Pipeline Runtime: Configure run directory, Slurm/local mode, Conda and Nextflow settings.
  • Admin > Order Form / Study Forms: Import, export, or reset form builder JSON.
  • Private MetaxPath install: Installer attempts private package install only when both privatePipelines.metaxpath.packageUrl and privatePipelines.metaxpath.key are set.
  • Reconfigure from JSON: Edit infrastructure-setup.json and re-run installer with --reconfigure.