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 tofalseto 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 usesdatabaseUrl.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; whenfalse, 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: Extrasbatchflags (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:
| Variable | Alias | Maps to |
|---|---|---|
SEQDESK_METAXPATH_PACKAGE_URL | METAXPATH_PACKAGE_URL | privatePipelines.metaxpath.packageUrl |
SEQDESK_METAXPATH_KEY | METAXPATH_PACKAGE_TOKEN | privatePipelines.metaxpath.key |
SEQDESK_METAXPATH_SHA256 | METAXPATH_PACKAGE_SHA256 | privatePipelines.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:
orderFormSettingsororder_form_settingsstudyFormSettingsorstudy_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.packageUrlandprivatePipelines.metaxpath.keyare set. - Reconfigure from JSON: Edit
infrastructure-setup.jsonand re-run installer with--reconfigure.