App / Daemon Settings
Settings persisted in Vault's settings table, grouped by area. Defaults are the built-in values used when a setting is unset.
General
| Setting |
Type |
Default |
Description |
appdata_path |
string |
/mnt/user/appdata |
Path to the Unraid appdata share containing Docker container configurations. |
fuse_mount_base_dir |
string |
(empty) |
Base directory on the host where read-only FUSE backup mounts are attached. Empty uses /mnt/addons/vault-fuse, or a temporary directory when /mnt/addons does not exist. |
fuse_mount_idle_minutes |
int |
30 |
Idle timeout in minutes after which inactive FUSE backup mounts are automatically unmounted. |
history_retention_days |
int |
365 |
Number of days of job-run history retained before pruning. |
log_level |
string |
info |
Minimum log level emitted by the daemon ("debug", "info", "warn", "error"). |
memory_limit_mb |
int |
0 |
Soft memory limit for the daemon in MiB, applied live with the Go runtime's memory limit. 0 turns it off; otherwise 512 to 1048576. It is a soft limit: set it above the backup working set (S3 uploads hold part size × 5 per upload stream), or the garbage collector runs almost continuously. A GOMEMLIMIT environment variable overrides it. |
replication_enabled |
string |
(empty) |
Master toggle for the replication subsystem. Empty/false disables replication scheduling; "true" enables it. |
snapshot_path_override |
string |
(empty) |
Override for the directory used to stage filesystem snapshots. Empty uses the built-in default. |
staging_dir_override |
string |
(empty) |
Override for the working directory used to stage archives before upload. Empty uses the built-in default. |
storage_verbose_logging |
bool |
false |
When enabled, storage adapters log every operation for troubleshooting. |
Backup
| Setting |
Type |
Default |
Description |
adaptive_folder_idle_minutes |
int |
5 |
Adaptive backups: a folder is considered busy when any file in it changed within this many minutes. |
adaptive_idle_cpu_percent |
int |
20 |
Adaptive backups: a container or VM is considered busy above this CPU percentage (single-core units). |
adaptive_idle_net_kbps |
int |
500 |
Adaptive backups: a container is considered busy above this network rate in kilobits per second. |
adaptive_max_postpone_minutes |
int |
60 |
Adaptive backups: after postponing this long, the backup runs anyway so busy workloads still get protected. |
adaptive_recheck_minutes |
int |
2 |
Adaptive backups: how often a postponed job re-checks whether its workloads have gone idle. |
auto_throttle_enabled |
bool |
false |
Adaptively slow Vault's uploads when other services (e.g. Plex remote streams) are using the internet uplink. Requires the link capacity below to be set. |
auto_throttle_floor_mbps |
int |
5 |
Minimum upload rate in Mbps the adaptive throttle will always leave Vault, so backups keep progressing even on a busy link. |
auto_throttle_link_mbps |
int |
0 |
Upstream capacity of the internet link in Mbps (as quoted by the ISP). The adaptive throttle targets this minus current non-Vault traffic minus 10% headroom. |
breaker_close_successes |
int |
2 |
Consecutive successes required to close an open circuit breaker and resume normal operation. |
breaker_fail_threshold |
int |
3 |
Consecutive storage failures required before a destination's circuit breaker opens. |
dedup_compaction_min_dead_ratio |
float |
0.5 |
Minimum fraction of dead (unreferenced) blocks in a dedup store before compaction runs. |
global_exclude_paths |
json |
[] |
Paths excluded from every folder and container backup (JSON array). Merged with each item's own exclusions rather than replacing them, so an item can still add its own. |
label_exclusions_enabled |
bool |
true |
Honour the vault.exclude Docker label on containers, treating its comma-separated paths as backup exclusions for that container. |
retry_delays_default |
json |
[900,3600,14400] |
Default retry backoff schedule (JSON array of seconds) used when a job has no per-job override. |
retry_max_default |
int |
2 |
Default maximum number of automatic retries for a failed backup when a job has no per-job override. |
Anomaly Detection
| Setting |
Type |
Default |
Description |
anomaly_detection_enabled |
bool |
true |
Master toggle for statistical anomaly detection on backup runs. |
anomaly_notify_min_severity |
string |
critical |
Minimum anomaly severity that triggers a notification ("info", "warning", or "critical"). |
anomaly_sensitivity_default |
string |
balanced |
Default detection sensitivity ("strict", "balanced", or "permissive") when a job or destination has no override. |
Notifications
| Setting |
Type |
Default |
Description |
discord_bot_avatar_url |
string |
(empty) |
Optional override for the avatar shown on Discord webhook messages. |
discord_bot_username |
string |
(empty) |
Optional override for the username shown on Discord webhook messages. |
discord_mention_on |
string |
never |
When to mention the configured Discord role ("never", "failure", or "always"). |
discord_mention_role_id |
string |
(empty) |
Discord role ID to mention on notifications. Empty disables role mentions. |
discord_notify_on |
string |
always |
When to send Discord notifications ("always" or "failure"). |
discord_webhook_url |
string |
(empty) |
Discord webhook URL for notifications. Empty disables Discord delivery. |
notifications_enabled |
bool |
true |
Master toggle for all outbound notifications. |