Skip to main content

Configuration reference

Generated from the configuration schema and the loader's environment override table. Defaults below are parsed from an empty configuration, before edition presets, user values and environment overrides. Nested defaults account for parent prefaults (the app port is 3100).

TIMON_HOME selects the data directory; it is not a schema field. A dash means no direct bootstrap environment override is declared for that field. Registry settings use their own names as environment keys. The installation-directory default is described rather than copied: it is wherever the running daemon's code lives, so a packaged install needs no value.

KeyTypeDefaultDescriptionEnvironment
version11Configuration schema version.
profile"linux-desktop" | "linux-server" | "macos" | "windows""linux-desktop"Host platform profile.
edition"expert" | "lite""expert"Requested edition; the effective edition remains constrained by the licence.
workspacesRootstring"~/webdev"Root directory for project workspaces.
daemonobjectSee child fieldsDaemon process and listener configuration.
daemon.listenobjectSee child fieldsNetwork listener configuration.
daemon.listen.hoststring"127.0.0.1"Listener address; use loopback for local-only access.
daemon.listen.portinteger3000TCP listening port.PORT
daemon.installDirstringDirectory of the running daemon's codeAbsolute orchestrator installation directory; defaults to where this daemon's own code lives.TIMON_INSTALL_DIR
daemon.supervisor"systemd-user" | "launchd" | "windows" | "none""systemd-user"Operating-system supervisor responsible for the daemon.
daemon.heapMbinteger4096Maximum Node heap size in MiB.
daemon.auth"auto" | "required" | "off""auto"Daemon authentication mode; auto requires authentication off loopback.
daemon.trustedProxiesstring[][]Peer addresses trusted to supply forwarded client addresses.
daemon.behindTlsProxybooleanfalseForce secure session cookies when HTTPS terminates at a reverse proxy.
hostobjectSee child fieldsHost capabilities and binary configuration.
host.docker"auto" | "required" | "disabled""auto"Container capability policy.
host.traefikbooleantrueWhether a Traefik deployment is available.
host.gui"auto" | "disabled""auto"Native graphical integration policy.
host.binariesobjectBinary names mapped to absolute paths; null uses PATH discovery.
host.isolationobjectSee child fieldsRequested mission filesystem restrictions.
host.isolation.filesystem"auto" | "off""auto"Requested mission filesystem confinement mode; availability depends on the host launcher.
host.isolation.denystring[][]Additional paths requested to be hidden from missions.
host.isolation.readOnlystring[][]Paths requested to remain visible but read-only.
host.isolation.allowstring[][]Paths exempted from filesystem masking.
host.isolation.runAsstring | nullnullReserved OS-account isolation option; non-null values are currently refused by the runtime.
appobjectSee child fieldsWeb app served as a daemon-managed child process.
app.enabledbooleanfalseWhether this feature is enabled.TIMON_APP_ENABLED
app.listenobjectSee child fieldsNetwork listener configuration.
app.listen.hoststring"127.0.0.1"Listener address; use loopback for local-only access.
app.listen.portinteger3100TCP listening port.TIMON_APP_PORT
app.publicUrlstring"http://timon.localhost"Public URL through which users reach the web app.
modulesobjectBundled module IDs mapped to enabled state or module-specific options.
pluginsobjectThird-party manifest IDs mapped to enabled state or plugin options; absent installed plugins are enabled.
developerobjectSee child fieldsDeveloper-mode preferences.
developer.unsignedPluginsbooleanNot setUnsigned-plugin preference; requires a valid licence, and is otherwise resolved by Timon.
pluginPolicyobjectSee child fieldsOperator ceilings on third-party plugin capabilities.
pluginPolicy.spawnobjectSee child fieldsApproval and rate limits for plugin mission spawning.
pluginPolicy.spawn.maxinteger5Maximum missions one plugin may spawn in a window; zero denies spawning.
pluginPolicy.spawn.windowMsinteger3600000Time window in milliseconds.
pluginPolicy.spawn.approvedstring[][]Plugin IDs explicitly approved to spawn missions.
pluginPolicy.execobjectSee child fieldsAllowed binaries for plugin host execution; built-in denials still apply.
pluginPolicy.exec.allowstring[][]Operator allowlist; an empty list refuses access.
pluginPolicy.httpobjectSee child fieldsAllowed outbound hostnames; a wildcard covers subdomains only.
pluginPolicy.http.allowstring[][]Operator allowlist; an empty list refuses access.
authThrottleobjectSee child fieldsCredential endpoint back-off and lockout policy.
authThrottle.enabledbooleantrueWhether this feature is enabled.
authThrottle.maxAttemptsinteger5Failed credential attempts allowed before lockout.
authThrottle.windowMsinteger900000Time window in milliseconds.
authThrottle.lockoutMsinteger60000Initial credential lockout duration in milliseconds.
authThrottle.maxLockoutMsinteger3600000Maximum credential lockout duration in milliseconds.
authThrottle.trustProxybooleanfalseUse forwarded client addresses for throttling only behind a proxy that rewrites them.
secretsobjectSee child fieldsSecret injection and master-key storage preferences.
secrets.inheritEnvbooleanfalseAllow missions to inherit the daemon environment instead of the restricted system and granted-secret set.
secrets.keyring"auto" | "off""auto"Store the vault master key in an available OS keyring, or use the local key file.
uiobjectSee child fieldsInstance UI visibility and home preferences.
ui.hiddenstring[][]UI zone identifiers hidden by instance configuration.
ui.home"cockpit" | "chat" | "kanban""cockpit"Initial application destination.
settingsobjectRegistry overrides keyed by setting name; environment overrides still take precedence.Same key as each registry setting

Record-valued fields accept arbitrary keys within their declared value type. Module and plugin entries accept a boolean, "auto", or an options object with optional enabled; registry values accept strings, numbers and booleans. See Configuration for precedence and safe installation examples.