Skip to main content

Configuration fields

Jiandu configuration files are versioned JSON and reject unknown keys. The complete current contract—including types, defaults, bounds, environment and command-line aliases, secret markers, and restart requirements—is the published JSON Schema.

Use the matching default values and example configuration generated from the same website build.

Top-level groups​

GroupPurposeCommon decisions
schema_versionSelects the closed configuration contractKeep the documented value; do not guess future versions
data_directoryInstallation state and default local pathsPersistent, private directory owned by the Jiandu account
serverListener, timeout, and ingress trust boundaryLoopback evaluation or complete HTTPS reverse-proxy boundary
databaseSQLite or PostgreSQL connection and limitsBackend, protected URL file, TLS verification, bounded pool
storageOriginal and artifact storageLocal, S3-compatible, or WebDAV; work directory and namespace
authOwner token, sessions, passkeys, external providersStable provider IDs and secret file references
connectorsGmail API capture boundaryOAuth secret files and exact public origin
captureWatched roots, scanners, and agentsNarrow sources and explicit network/path allowlists
limitsIntake and processing safeguardsUpload/page/image compatibility bounds and worker concurrency
telemetryLocal logs, remote consent, exporter and limitsRemote off unless deliberately enabled
pluginsReviewed local runtime policyDisabled by default; file-only expert configuration

For a searchable row for every nested field, use the complete generated configuration reference.

Precedence and validation​

defaults < JSON file < environment < command line

Validate the effective configuration before restart:

jiandu --config /etc/jiandu/jiandu.json --check-config

All current settings require restart. --check-config may validate protected paths and deployment boundaries; run it as the same account and in the same filesystem/secret environment as the service.

Secrets​

Fields marked as secret references expect a protected file path, not an inline value. Jiandu also rejects group/other-writable sensitive state. Keep example JSON secret-free so it can be reviewed safely.