Skip to Content
ConfigurationEnvironment Variables

Environment Variables

All SeqDesk environment variables use the SEQDESK_ prefix. They have the highest priority in the configuration resolution order, overriding config file and database values.

Value Parsing

Environment variables are parsed according to their target type:

  • Booleans"true" / "false" (case-insensitive)
  • Numbers — parsed as integers for fields like scanDepth, cores, sessionTimeout
  • Arrays — comma-separated values, e.g. ".fastq.gz,.fq.gz,.fastq,.fq"
  • Strings — all other values

Site Settings

VariableConfig PathTypeDefaultDescription
SEQDESK_SITE_NAMEsite.namestring"SeqDesk"Display name of the facility
SEQDESK_DATA_PATHsite.dataBasePathstring"./data"Base path for sequencing data storage
SEQDESK_CONTACT_EMAILsite.contactEmailstringFacility contact email address

Pipeline Settings

VariableConfig PathTypeDefaultDescription
SEQDESK_PIPELINES_ENABLEDpipelines.enabledbooleanfalseMaster switch for all pipeline features
SEQDESK_PIPELINE_RUN_DIRpipelines.execution.runDirectorystring"./pipeline_runs"Output directory for pipeline runs
SEQDESK_PIPELINE_MODEpipelines.execution.modeenum"local"Execution mode: local, slurm, or kubernetes

Conda

VariableConfig PathTypeDefaultDescription
SEQDESK_CONDA_ENABLEDpipelines.execution.conda.enabledbooleanfalseUse Conda for pipeline dependencies
SEQDESK_CONDA_PATHpipelines.execution.conda.pathstring"/opt/conda"Path to Conda installation
SEQDESK_CONDA_ENVpipelines.execution.conda.environmentstringConda environment name

SLURM

VariableConfig PathTypeDefaultDescription
SEQDESK_SLURM_ENABLEDpipelines.execution.slurm.enabledbooleanfalseEnable SLURM job submission
SEQDESK_SLURM_QUEUEpipelines.execution.slurm.queuestring"default"SLURM partition/queue name
SEQDESK_SLURM_CORESpipelines.execution.slurm.coresinteger4CPU cores per job
SEQDESK_SLURM_MEMORYpipelines.execution.slurm.memorystring"16GB"Memory per job
SEQDESK_SLURM_TIMEpipelines.execution.slurm.timeLimitinteger24Time limit in hours

MAG Pipeline

VariableConfig PathTypeDefaultDescription
SEQDESK_MAG_ENABLEDpipelines.mag.enabledbooleantrueEnable nf-core/mag pipeline
SEQDESK_MAG_VERSIONpipelines.mag.versionstring"3.4.0"nf-core/mag pipeline version
SEQDESK_MAG_STUBpipelines.mag.stubModebooleanfalseUse stub mode (test mode, no real analysis)

ENA Submission

VariableConfig PathTypeDefaultDescription
SEQDESK_ENA_TEST_MODEena.testModebooleantrueUse ENA test server instead of production
SEQDESK_ENA_USERNAMEena.usernamestringWebin account username
SEQDESK_ENA_PASSWORDena.passwordstringWebin account password
SEQDESK_ENA_CENTERena.centerNamestring""Submission center name
SEQDESK_ENA_BROKER_ACCOUNTena.brokerAccountbooleanfalseWebin account has ENA broker permissions

Always set ENA credentials through environment variables or the Admin UI — never commit them to a config file.

Sequencing Files

VariableConfig PathTypeDefaultDescription
SEQDESK_FILES_EXTENSIONSsequencingFiles.extensionsarray".fastq.gz,.fq.gz,.fastq,.fq"Allowed file extensions (comma-separated)
SEQDESK_FILES_SCAN_DEPTHsequencingFiles.scanDepthinteger2Directory scan depth (1–10)
SEQDESK_FILES_SINGLE_ENDsequencingFiles.allowSingleEndbooleantrueAllow single-end reads

Authentication

VariableConfig PathTypeDefaultDescription
SEQDESK_AUTH_REGISTRATIONauth.allowRegistrationbooleantrueAllow public user registration
SEQDESK_SESSION_TIMEOUTauth.sessionTimeoutinteger24Session timeout in hours

Runtime Variables

These standard environment variables are used by the application runtime. They can also be set in the runtime section of the config file — if not already present as environment variables, the config file values are applied to process.env at startup.

VariableConfig PathDescription
DATABASE_URLruntime.databaseUrlPostgreSQL runtime connection string
DIRECT_URLruntime.directUrlDirect PostgreSQL connection for Prisma migrations
NEXTAUTH_URLruntime.nextAuthUrlNextAuth.js callback URL (e.g. http://localhost:3000)
NEXTAUTH_SECRETruntime.nextAuthSecretSession signing secret (generate with openssl rand -base64 32)
SEQDESK_UPDATE_SERVERruntime.updateServerUpdate server URL (default: https://seqdesk.com)

SeqDesk.com Admin Variables

These variables are used by the hosted SeqDesk.com admin service, not by an installed SeqDesk runtime. Configure them on the SeqDesk.com deployment when using install-profile administration features.

VariableRequiredDefaultDescription
NEON_API_KEYFor hosted Neon provisioningNeon API key used by the install-profile admin panel to create, test, and delete managed Neon projects
NEON_ORG_IDNoOptional Neon organization id passed when creating projects with a personal API key
NEON_DEFAULT_REGION_IDNoaws-eu-central-1Region id for newly provisioned hosted Neon databases
INSTALL_PROFILE_STORAGE_SECRETFor hosted install profilesEncryption secret for install-profile access codes and encrypted profile secrets

Telemetry

These map to both the runtime config (telemetry.*) and the install-time heartbeat configuration. See Operational Telemetry for what gets reported.

VariableConfig PathTypeDefaultDescription
SEQDESK_TELEMETRY_ENABLEDtelemetry.enabledbooleanfalseOpt-in anonymous heartbeats
SEQDESK_TELEMETRY_ENDPOINTtelemetry.endpointstringhttps://www.seqdesk.com/api/telemetry/heartbeatHeartbeat URL
SEQDESK_TELEMETRY_INTERVAL_HOURStelemetry.intervalHoursinteger24Minimum hours between heartbeats

Installer-only Variables

These variables are consumed by install-dist.sh and the seqdesk launcher before the app starts. They have no effect on a running app — they configure the install flow itself. Each one matches a CLI flag in the Full installer flag reference.

Target and mode

VariableTypeDefaultDescription
SEQDESK_DIRpath./seqdeskInstallation directory
SEQDESK_VERSIONstringlatestRelease version to install
SEQDESK_YESboolean0Non-interactive mode
SEQDESK_LOGpathInstall log path
SEQDESK_USE_PM2boolean1 to start under PM2; 0 to disable
SEQDESK_APIstringhttps://www.seqdesk.com/apiAdvanced: override release metadata endpoint

Configuration source

VariableTypeDescription
SEQDESK_CONFIGpath or URLInfrastructure JSON file (mutually exclusive with SEQDESK_PROFILE)
SEQDESK_PROFILEstringHosted install profile id
SEQDESK_PROFILE_CODEstringAccess code for the hosted install profile
SEQDESK_PROFILE_REGISTRY_URLstringOverride the registry base URL
SEQDESK_RECONFIGUREbooleanRe-apply config to an existing install
SEQDESK_RESEED_DBbooleanForce DB push + seed during --reconfigure
SEQDESK_PREPARE_POSTGRESbooleanPrepare local PostgreSQL role/database, then exit

Infrastructure overrides

VariableTypeDescription
SEQDESK_PORTintegerApp port (default 8000)
SEQDESK_DATABASE_URLstringDATABASE_URL
SEQDESK_DATABASE_DIRECT_URLstringDIRECT_URL for Prisma migrations
SEQDESK_NEXTAUTH_URLstringNEXTAUTH_URL
SEQDESK_NEXTAUTH_SECRETstringNEXTAUTH_SECRET
SEQDESK_RUN_DIRpathPipeline run directory override

Secrets

VariableTypeDescription
SEQDESK_ANTHROPIC_API_KEYstringAnthropic API key for AI validation
SEQDESK_ADMIN_SECRETstringRelease publishing admin secret
SEQDESK_BLOB_READ_WRITE_TOKENstringVercel Blob token

Pipeline toggles

VariableTypeDescription
SEQDESK_WITH_PIPELINESboolean1 to install Conda + Nextflow; 0 to skip
SEQDESK_WITH_CONDAbooleanLegacy alias for installing Miniconda
SEQDESK_SKIP_DEPSbooleanDeprecated; ignored in the distribution installer

Pipeline-execution overrides

These let you set runtime pipeline-execution settings at install time without editing a config file. They are written into SiteSettings.extraSettings.pipelineExecution during install.

VariableMaps toDescription
SEQDESK_EXEC_USE_SLURMpipelines.execution.slurm.enabledEnable SLURM submission
SEQDESK_EXEC_SLURM_QUEUEpipelines.execution.slurm.queuePartition/queue name
SEQDESK_EXEC_SLURM_CORESpipelines.execution.slurm.coresCPUs per job
SEQDESK_EXEC_SLURM_MEMORYpipelines.execution.slurm.memoryMemory per job
SEQDESK_EXEC_SLURM_TIME_LIMITpipelines.execution.slurm.timeLimitHours per job
SEQDESK_EXEC_SLURM_OPTIONSpipelines.execution.slurm.optionsExtra sbatch flags
SEQDESK_EXEC_CONDA_PATHpipelines.execution.conda.pathConda installation path
SEQDESK_EXEC_CONDA_ENVpipelines.execution.conda.environmentConda environment name
SEQDESK_EXEC_NEXTFLOW_PROFILEPipeline runtimeNextflow profile (conda, docker, singularity, standard)
SEQDESK_EXEC_WEBLOG_URLPipeline runtimeNextflow weblog endpoint
SEQDESK_EXEC_WEBLOG_SECRETPipeline runtimeShared secret for weblog requests

Private pipeline package (MetaXpath)

VariableAliasDescription
SEQDESK_METAXPATH_PACKAGE_URLMETAXPATH_PACKAGE_URLTarball URL for the private MetaXpath package
SEQDESK_METAXPATH_KEYMETAXPATH_PACKAGE_TOKENBearer token for the package URL
SEQDESK_METAXPATH_SHA256METAXPATH_PACKAGE_SHA256Expected tarball checksum

Form presets

VariableTypeDescription
SEQDESK_ORDER_FORM_SETTINGSpathJSON exported from Admin > Order Form > Import / Export to apply after seed
SEQDESK_STUDY_FORM_SETTINGSpathJSON exported from Admin > Study Forms > Import / Export to apply after seed

Examples

Set variables in your shell, .env file, or deployment system:

# Site export SEQDESK_SITE_NAME="My Sequencing Facility" export SEQDESK_DATA_PATH="/mnt/sequencing/data" # ENA (use env vars for secrets) export SEQDESK_ENA_USERNAME="Webin-12345" export SEQDESK_ENA_PASSWORD="your-password" export SEQDESK_ENA_TEST_MODE="false" # SLURM cluster export SEQDESK_PIPELINE_MODE="slurm" export SEQDESK_SLURM_ENABLED="true" export SEQDESK_SLURM_QUEUE="bioinformatics" export SEQDESK_SLURM_CORES="16" export SEQDESK_SLURM_MEMORY="64GB" # Install-time form presets export SEQDESK_ORDER_FORM_SETTINGS="/opt/seqdesk-presets/order-form.json" export SEQDESK_STUDY_FORM_SETTINGS="/opt/seqdesk-presets/study-form.json"