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
| Group | Purpose | Common decisions |
|---|---|---|
schema_version | Selects the closed configuration contract | Keep the documented value; do not guess future versions |
data_directory | Installation state and default local paths | Persistent, private directory owned by the Jiandu account |
server | Listener, timeout, and ingress trust boundary | Loopback evaluation or complete HTTPS reverse-proxy boundary |
database | SQLite or PostgreSQL connection and limits | Backend, protected URL file, TLS verification, bounded pool |
storage | Original and artifact storage | Local, S3-compatible, or WebDAV; work directory and namespace |
auth | Owner token, sessions, passkeys, external providers | Stable provider IDs and secret file references |
connectors | Gmail API capture boundary | OAuth secret files and exact public origin |
capture | Watched roots, scanners, and agents | Narrow sources and explicit network/path allowlists |
limits | Intake and processing safeguards | Upload/page/image compatibility bounds and worker concurrency |
telemetry | Local logs, remote consent, exporter and limits | Remote off unless deliberately enabled |
plugins | Reviewed local runtime policy | Disabled 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.