Skip to main content

Environment variables

Environment values override the JSON file and are themselves overridden by explicit command-line values. An invalid value stops startup with environment variable NAME has an invalid value.

The release-pinned JSON Schema is authoritative for types and bounds.

Core and network

VariablePurpose
JIANDU_DATA_DIRInstallation data directory
JIANDU_BINDPrivate application listener
JIANDU_REQUEST_TIMEOUT_SECONDSBounded request timeout
JIANDU_INGRESS_MODEIngress boundary mode
JIANDU_PUBLIC_ORIGINExact public HTTPS origin
JIANDU_INGRESS_TRUSTED_PROXY_CIDRSComma-separated direct proxy CIDRs

JIANDU_PUBLIC_HOSTNAME, JIANDU_TRUST_TLS_TERMINATION, and JIANDU_TRUSTED_PROXY_CIDRS are deprecated migration inputs. Use them only as the complete legacy set and never mix them with JIANDU_INGRESS_*.

Database

VariablePurpose
JIANDU_DATABASE_BACKENDsqlite or postgres
JIANDU_DATABASE_PATHSQLite database path
JIANDU_DATABASE_URL_FILEOwner-only PostgreSQL URL file
JIANDU_DATABASE_MAX_CONNECTIONSMaximum pool size
JIANDU_DATABASE_MIN_CONNECTIONSMinimum PostgreSQL pool size
JIANDU_DATABASE_BUSY_TIMEOUT_MSSQLite busy timeout
JIANDU_DATABASE_ACQUIRE_TIMEOUT_MSPool acquire timeout
JIANDU_DATABASE_CONNECT_TIMEOUT_MSPostgreSQL connect timeout
JIANDU_DATABASE_TLS_MODEPostgreSQL TLS policy
JIANDU_DATABASE_TLS_CA_PATHPostgreSQL CA file
JIANDU_POSTGRES_PG_DUMP_PATHExplicit server-major-matching PostgreSQL dump tool
JIANDU_POSTGRES_PG_RESTORE_PATHExplicit archive/server-major-matching PostgreSQL restore tool

Blob storage

VariablePurpose
JIANDU_BLOB_BACKENDLocal, S3-compatible, or WebDAV selection
JIANDU_BLOB_ROOTLocal blob root
JIANDU_BLOB_WORK_ROOTPrivate staging/work root
JIANDU_BLOB_PREFIXRemote namespace prefix
JIANDU_BLOB_ALLOW_HTTPExplicit HTTP exception for allowed local/test endpoints
JIANDU_S3_BUCKETBucket name
JIANDU_S3_REGIONS3 region
JIANDU_S3_ENDPOINTS3-compatible endpoint override
JIANDU_S3_VIRTUAL_HOSTED_STYLES3 addressing style
JIANDU_WEBDAV_ENDPOINTWebDAV endpoint
JIANDU_WEBDAV_USERNAMEWebDAV username
JIANDU_WEBDAV_PASSWORD_FILEOwner-only password file

Access and connectors

VariablePurpose
JIANDU_OWNER_TOKEN_PATHOwner recovery-token file
JIANDU_SESSION_TTL_SECONDSSession lifetime
JIANDU_SESSION_ROTATE_AFTER_SECONDSSession rotation interval
JIANDU_REVOKED_SESSION_RETENTION_SECONDSRevocation retention
JIANDU_CONNECTOR_SECRET_KEY_PATHBase64 32-byte connector sealing-key file
JIANDU_CONNECTOR_OAUTH_CLIENT_IDConnector OAuth client ID
JIANDU_CONNECTOR_OAUTH_CLIENT_SECRET_PATHConnector OAuth client-secret file
JIANDU_CONNECTOR_PUBLIC_ORIGINExact public HTTPS connector origin

The older singleton JIANDU_OIDC_* variables remain a deprecated compatibility surface. New multi-provider registries are file-only so the complete provider boundary is reviewed together.

Resources and telemetry

VariablePurpose
JIANDU_MAX_UPLOAD_BYTESLegacy multipart/snapshot compatibility bound
JIANDU_MAX_PAGESLegacy page compatibility bound
JIANDU_MAX_IMAGE_PIXELSLegacy image compatibility bound
JIANDU_WORKER_COUNTConcurrent processing snapshots
JIANDU_JSON_LOGSStructured local logs
JIANDU_REMOTE_TELEMETRYMaster consent for network telemetry
JIANDU_PRODUCT_METRICS_TELEMETRYSeparate product-use metrics consent
JIANDU_OTEL_QUEUE_BYTESBounded exporter queue
JIANDU_OTEL_SHUTDOWN_TIMEOUT_MSExporter shutdown budget
JIANDU_OTEL_METRIC_CARDINALITY_LIMITMetric cardinality ceiling
JIANDU_OTLP_ALLOW_INSECUREExplicit plaintext non-loopback exception

Standard OpenTelemetry variables may also configure the selected OTLP exporter. Remote consent and Jiandu safety bounds still apply.