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
| Variable | Config Path | Type | Default | Description |
|---|---|---|---|---|
SEQDESK_SITE_NAME | site.name | string | "SeqDesk" | Display name of the facility |
SEQDESK_DATA_PATH | site.dataBasePath | string | "./data" | Base path for sequencing data storage |
SEQDESK_CONTACT_EMAIL | site.contactEmail | string | — | Facility contact email address |
Pipeline Settings
| Variable | Config Path | Type | Default | Description |
|---|---|---|---|---|
SEQDESK_PIPELINES_ENABLED | pipelines.enabled | boolean | false | Master switch for all pipeline features |
SEQDESK_PIPELINE_RUN_DIR | pipelines.execution.runDirectory | string | "./pipeline_runs" | Output directory for pipeline runs |
SEQDESK_PIPELINE_MODE | pipelines.execution.mode | enum | "local" | Execution mode: local, slurm, or kubernetes |
Conda
| Variable | Config Path | Type | Default | Description |
|---|---|---|---|---|
SEQDESK_CONDA_ENABLED | pipelines.execution.conda.enabled | boolean | false | Use Conda for pipeline dependencies |
SEQDESK_CONDA_PATH | pipelines.execution.conda.path | string | "/opt/conda" | Path to Conda installation |
SEQDESK_CONDA_ENV | pipelines.execution.conda.environment | string | — | Conda environment name |
SLURM
| Variable | Config Path | Type | Default | Description |
|---|---|---|---|---|
SEQDESK_SLURM_ENABLED | pipelines.execution.slurm.enabled | boolean | false | Enable SLURM job submission |
SEQDESK_SLURM_QUEUE | pipelines.execution.slurm.queue | string | "default" | SLURM partition/queue name |
SEQDESK_SLURM_CORES | pipelines.execution.slurm.cores | integer | 4 | CPU cores per job |
SEQDESK_SLURM_MEMORY | pipelines.execution.slurm.memory | string | "16GB" | Memory per job |
SEQDESK_SLURM_TIME | pipelines.execution.slurm.timeLimit | integer | 24 | Time limit in hours |
MAG Pipeline
| Variable | Config Path | Type | Default | Description |
|---|---|---|---|---|
SEQDESK_MAG_ENABLED | pipelines.mag.enabled | boolean | true | Enable nf-core/mag pipeline |
SEQDESK_MAG_VERSION | pipelines.mag.version | string | "3.4.0" | nf-core/mag pipeline version |
SEQDESK_MAG_STUB | pipelines.mag.stubMode | boolean | false | Use stub mode (test mode, no real analysis) |
ENA Submission
| Variable | Config Path | Type | Default | Description |
|---|---|---|---|---|
SEQDESK_ENA_TEST_MODE | ena.testMode | boolean | true | Use ENA test server instead of production |
SEQDESK_ENA_USERNAME | ena.username | string | — | Webin account username |
SEQDESK_ENA_PASSWORD | ena.password | string | — | Webin account password |
SEQDESK_ENA_CENTER | ena.centerName | string | "" | Submission center name |
Always set ENA credentials through environment variables or the Admin UI — never commit them to a config file.
Sequencing Files
| Variable | Config Path | Type | Default | Description |
|---|---|---|---|---|
SEQDESK_FILES_EXTENSIONS | sequencingFiles.extensions | array | ".fastq.gz,.fq.gz,.fastq,.fq" | Allowed file extensions (comma-separated) |
SEQDESK_FILES_SCAN_DEPTH | sequencingFiles.scanDepth | integer | 2 | Directory scan depth (1–10) |
SEQDESK_FILES_SINGLE_END | sequencingFiles.allowSingleEnd | boolean | true | Allow single-end reads |
Authentication
| Variable | Config Path | Type | Default | Description |
|---|---|---|---|---|
SEQDESK_AUTH_REGISTRATION | auth.allowRegistration | boolean | true | Allow public user registration |
SEQDESK_SESSION_TIMEOUT | auth.sessionTimeout | integer | 24 | Session 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.
| Variable | Config Path | Description |
|---|---|---|
DATABASE_URL | runtime.databaseUrl | PostgreSQL runtime connection string |
DIRECT_URL | runtime.directUrl | Direct PostgreSQL connection for Prisma migrations |
NEXTAUTH_URL | runtime.nextAuthUrl | NextAuth.js callback URL (e.g. http://localhost:3000) |
NEXTAUTH_SECRET | runtime.nextAuthSecret | Session signing secret (generate with openssl rand -base64 32) |
SEQDESK_UPDATE_SERVER | runtime.updateServer | Update 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"