-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.slurm.example
More file actions
64 lines (54 loc) · 3.59 KB
/
Copy path.env.slurm.example
File metadata and controls
64 lines (54 loc) · 3.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# NiChart API — SLURM mode example environment
#
# Copy to .env and fill in the values for your cluster.
#
# CRITICAL PATH CONSTRAINT
# ------------------------
# NICHART_DATA_ROOT, NICHART_SIF_DIR, and NICHART_SLURM_LOGS_DIR must use
# the same absolute paths on the API server host AND the SLURM compute nodes.
# The API server builds apptainer bind-mount paths from these roots and passes
# them verbatim inside the sbatch --wrap command that runs on a compute node.
# If the paths differ, the apptainer job will fail to find its inputs.
#
# Example: if your shared filesystem is mounted at /shared/nichart everywhere,
# set NICHART_DATA_ROOT=/shared/nichart/data on both the login node and in .env.
# ── Execution ──────────────────────────────────────────────────────────────────
NICHART_EXECUTION_MODE=local
NICHART_JOB_BACKEND=slurm
# ── Data and resources ─────────────────────────────────────────────────────────
# Must be on a shared filesystem visible to all SLURM compute nodes at this path.
NICHART_DATA_ROOT=/shared/nichart/data
NICHART_RESOURCES_PATH=resources
# ── Singularity/Apptainer SIF registry ────────────────────────────────────────
# Must be on a shared filesystem visible to all SLURM compute nodes at this path.
# Build SIF images first: python scripts/build-sif-registry.py --sif-dir /shared/nichart/sif
NICHART_SIF_DIR=/shared/nichart/sif
NICHART_CONTAINER_RUNNER=apptainer
# ── SLURM scheduler ───────────────────────────────────────────────────────────
# SLURM log files. Must be on a shared filesystem so compute nodes can write them
# and the API server can read them. Named {slurm_job_id}.log.
NICHART_SLURM_LOGS_DIR=/shared/nichart/slurm-logs
# Partition and account — leave blank to use the cluster defaults.
NICHART_SLURM_PARTITION=
NICHART_SLURM_ACCOUNT=
# Time limit = time_per_subject_seconds * num_subjects * safety_factor.
# Falls back to DEFAULT_TIME_MINUTES when a tool has no time estimate.
NICHART_SLURM_TIME_SAFETY_FACTOR=2.0
NICHART_SLURM_DEFAULT_TIME_MINUTES=1440
# Paths to SLURM client tools. Override if they are not on $PATH.
NICHART_SLURM_SBATCH_CMD=sbatch
NICHART_SLURM_SQUEUE_CMD=squeue
NICHART_SLURM_SACCT_CMD=sacct
NICHART_SLURM_SCANCEL_CMD=scancel
# Extra sbatch flags appended verbatim to every job submission.
# JSON list, e.g. ["--constraint=h100", "--qos=high"]
# Leave as [] to pass no extra flags.
NICHART_SLURM_EXTRA_SBATCH_ARGS=[]
# ── Auth ───────────────────────────────────────────────────────────────────────
# Local/cluster mode: auth is bypassed and a fixed LOCAL_USER identity is used.
# No Cognito configuration needed unless you add cloud auth on top.
# ── CORS ───────────────────────────────────────────────────────────────────────
# Set to the hostname/port where the React UI is served.
# NICHART_CORS_ORIGINS=["http://localhost:3000"]
# Alternatively, set to "*" to allow access from any domain.
NICHART_CORS_ORIGINS=["*"]