Documentation · Configuration

Configuration

Warden combines human-editable configuration, encrypted secret storage and a migrated SQLite operational database inside one private instance directory.

Configuration directory

Warden defaults to ~/.config/warden/, or $XDG_CONFIG_HOME/warden/. Override it with --config or WARDEN_CONFIG_DIR.

~/.config/warden/
  warden.db
  config.json
  environment.json
  authentication.json
  ai.json
  users.json / roles.json
  secrets.json / master.key
  sites/

warden.db stores durable operational objects and normalized application state. JSON remains the editable/export-compatible configuration projection during migration; recoverable secrets remain encrypted with the instance master key.

Important bootstrap options

Option / variablePurpose
--listen / WARDEN_LISTENInitial HTTP address; defaults to 127.0.0.1:8080.
--root / WARDEN_FILE_ROOTExplorer/Editor filesystem boundary; does not sandbox Terminal or Agent commands.
--static / WARDEN_STATIC_DIROptional override for the embedded Nift frontend.
WARDEN_TRUST_PROXYTrust forwarded client/protocol headers only from a direct loopback reverse proxy.

SQLite behavior

Startup applies numbered migrations transactionally and rejects newer unknown schemas. Foreign keys, WAL, full synchronous writes and a busy timeout protect concurrent conversations, terminals, alert evaluation and operation jobs.

Frontend build

nift build

Authoritative frontend files live under content/ and templates/; public/ is generated and embedded into release binaries.

Backup and migration

Portable exports continue to use the validated compatibility configuration model, including password-encrypted export of secrets. For a complete machine-level backup, preserve the entire configuration directory so SQLite history, the master key, encrypted secrets and generated website fragments travel together.