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_DATABASE_DIRpipelines.databaseDirectorystring""Shared root directory for large pipeline database assets
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

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

SEQDESK_TELEMETRY_DISABLED=true is a hard kill-switch — it forces telemetry off regardless of the database setting, config file, or SEQDESK_TELEMETRY_ENABLED. It is not part of the standard config resolution; it short-circuits before any other source is consulted.

Notifications

VariableConfig PathTypeDefaultDescription
SEQDESK_NOTIFICATIONS_ENABLEDnotifications.enabledbooleanfalseMaster switch for the hosted email notification relay
SEQDESK_IN_APP_NOTIFICATIONS_ENABLEDnotifications.inApp.enabledbooleantrueMaster switch for the in-app notification panel/channel
SEQDESK_NOTIFICATION_PROVIDERnotifications.providerstring"seqdesk-relay"Notification provider (only seqdesk-relay is supported)
SEQDESK_NOTIFICATION_RELAY_URLnotifications.relayUrlstringhttps://www.seqdesk.com/api/notifications/relayHosted relay endpoint
SEQDESK_NOTIFICATION_RELAY_TOKENnotifications.relayTokenstringScoped notification relay token (secret)

Set the relay token through this environment variable — never commit it to a config file. It is masked in /api/admin/config/status responses.

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_OVERWRITE_EXISTINGboolean0With -y, back up an existing install dir to <dir>.backup.<timestamp> and replace it
SEQDESK_LOGpath/tmp/seqdesk-install-<timestamp>.logInstall 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
SEQDESK_ADDITIONAL_SETTINGS_FILEpathLocal JSON overrides applied after SEQDESK_CONFIG
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_MODEpipelines.execution.modeExecution mode written into the config file (local, slurm, or kubernetes)
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_URLOptional tarball URL override for the private MetaXpath package
SEQDESK_METAXPATH_KEYMETAXPATH_PACKAGE_TOKENGitHub/package bearer token used to resolve and download the private package
SEQDESK_METAXPATH_SHA256METAXPATH_PACKAGE_SHA256Optional expected tarball checksum override

SEQDESK_METAXPATH_PACKAGE_URL and SEQDESK_METAXPATH_SHA256 are normally left unset: when only a MetaXpath token is provided, the GitHub release asset URL and SHA256 digest are resolved automatically.

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"