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

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)

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"