Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Environment Reference

All configuration is via environment variables. The single source of truth for versions is versions.nix; run just sync-versions to regenerate .env.

Database

VariableDefaultDescription
POSTGRES_HOSTPostgreSQL host
POSTGRES_PORT5433PostgreSQL port
POSTGRES_USERNAMEPostgreSQL user
POSTGRES_PASSWORDPostgreSQL password
POSTGRES_PATHDatabase name
POSTGRES_READ_HOSTSame as write hostRead replica host
DB_POOL_MAX20Max connection pool size
DB_POOL_MIN2Min connection pool size
DB_CONNECT_TIMEOUT_SECS10Connection timeout
CLICKHOUSE_HOSTClickHouse host
CLICKHOUSE_PORT8123ClickHouse HTTP port

Object Storage (S3/MinIO)

VariableDefaultDescription
S3_ACCESS_KEYAccess key
S3_SECRET_KEYSecret key
S3_ENDPOINTCustom endpoint (for MinIO)
S3_REGIONAWS region

Bucket names: syndb-mesh, syndb-swb, syndb-search, syndb-jobs. No underscores allowed in bucket names.

Authentication

VariableDefaultDescription
PASSLIB_SECRETPASETO v4.local symmetric key (minimum 32 bytes)
SERVICE_SECRETService account registration secret
UI_BASE_URLOAuth callback redirect base URL
ACCESS_TOKEN_LIFETIME900 (15 min)Access token TTL in seconds
REFRESH_TOKEN_LIFETIME2592000 (30 days)Refresh token TTL in seconds

OAuth Providers

VariableDescription
OA_GITHUB_ID, OA_GITHUB_SECRETGitHub OAuth app credentials
OA_GOOGLE_ID, OA_GOOGLE_SECRETGoogle OAuth credentials
OA_ORCID_ID, OA_ORCID_SECRETORCID OAuth credentials
OA_CILOGON_ID, OA_CILOGON_SECRETCILogon OAuth credentials
OA_GITLAB_ID, OA_GITLAB_SECRETGitLab OAuth credentials
OA_GITLAB_URLCustom GitLab instance URL
OA_ORCID_SANDBOXUse sandbox.orcid.org (false)
OA_CILOGON_SANDBOXUse test.cilogon.org (false)
OAUTH_PROVIDER_BASE_URLOverride provider URLs (testing)

Federation

VariableDefaultDescription
FEDERATION_LISTEN_ADDROS-assignedlibp2p listen address
FEDERATION_ENABLE_MDNStrueEnable mDNS LAN discovery
FEDERATION_HUB_MULTIADDRSComma-separated hub multiaddrs for WAN
FEDERATION_CLUSTER_NAMECluster identifier (required for node mode)
FEDERATION_CLUSTER_DESCRIPTIONCluster description
FEDERATION_CLUSTER_INSTITUTIONInstitution name
FEDERATION_PASSWORDShared federation secret
FEDERATION_CLUSTER_NATIVE_PORT9440ClickHouse native port for remote()
FEDERATION_NODE_FLIGHT_PORT50052Internal Flight gRPC port
FEDERATION_NODE_FLIGHT_ADVERTISElocalhost:50052Advertised Flight endpoint
FEDERATION_DELEGATION_TIMEOUT_SECS30Timeout for delegated requests

Server

VariableDefaultDescription
DEV_MODEfalsePermissive CORS, data seeding
DEBUGfalseVerbose SQL logging
TESTINGfalseSkip federation/job queue init
REQUEST_TIMEOUT_SECS60HTTP handler timeout
HTTP_CLIENT_TIMEOUT_SECS30Internal HTTP client timeout
UPLOAD_TIMEOUT21600 (6 hours)Upload timeout
FLIGHT_PORT50051Arrow Flight server port
REQUIRE_AUTHENTICATIONtrueRequire auth for protected endpoints

Rate Limiting

VariableDefaultDescription
RATE_LIMIT_PER_SECOND100Sustained request rate per IP
RATE_LIMIT_BURST200Burst capacity per IP

Job Queue

VariableDefaultDescription
JOB_QUEUE_MAX_WORKERS4Max concurrent job workers
JOB_RESULT_TTL_HOURS24Result retention
JOB_MAX_RESULT_BYTES1073741824 (1 GB)Max result size
VariableDefaultDescription
MEILISEARCH_HOSTMeilisearch host
MEILISEARCH_PORT7700Meilisearch port
MEILISEARCH_API_KEYMeilisearch API key