Files
Varaverk/Plugin/unraid/pages/readme/ui-map.md
T
Gmer4Lfe 9eef5b50e6 Tell the three auth failures apart, and give the Auth tab a settings card
Not set, rejected and unreachable all reached the page as one message about checking
credentials, which sends you to a password when the field is simply empty — as both of
HOST1's were, with no card on the page to fill them in from.
2026-08-14 23:14:33 -04:00

110 KiB
Raw Blame History

Where every setting lives in the web UI

Generated by Tools/ui_map_build.php — do not edit by hand.

Every setting below can be changed in the browser. Nothing here needs a conf file opened over SSH, and the routes are what to tell someone who asks where a setting is.

Two surfaces show settings, and which one holds a given section depends on what the section is about:

  • The Scheduler tab shows the settings belonging to one script. Pick the script, open Config, and its sections appear there.
  • The AI tab shows the AI sections together under Settings → Configuration.

Both write through the same guarded path: the change is validated, the conf is backed up, the result is syntax-checked and read back, and a bad write is rolled back.

A setting is edited by finding its row and changing the control described below. The Save button sends only what was actually changed.

When someone asks where a setting is, answer with the route. Every setting here has a control in the browser, so the conf file it lands in is background rather than an instruction — telling someone to edit the file by hand is the wrong answer when a switch exists, and it is also the riskier one. The exception is the list at the very bottom: those settings genuinely have no control, and saying so is the right answer.


Arr Recovery Toggles

Reachable from:

  • Scheduler tab → Arrs Failed Stalled Recovery → Config → Arr Recovery Toggles
  • Media Stack tab → Media settings → Arr Recovery Toggles
  • Settings tab → All settings → Arr Recovery Toggles

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_LIDARR_RECOVERY a switch in this section HOST1 only — exits cleanly on HOST2
HOST1_SONARR_RECOVERY a switch in this section
HOST1_RADARR_RECOVERY a switch in this section

Authelia

Reachable from:

  • Auth tab → Auth settings → Authelia
  • Settings tab → All settings → Authelia

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_AUTHELIA_CONFIG a text box in this section
HOST1_AUTHELIA_CONTAINER a text box in this section

Backup Verify

Reachable from:

  • Scheduler tab → Backup Verify → Config → Backup Verify
  • Settings tab → All settings → Backup Verify

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_BACKUP_VERIFY_SHARES a list, one entry per line in this section Leave empty to use HOST1_DAILY_SYNC_SHARES automatically.

Bug Reports

Route: Settings tab → All settings → Bug Reports

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_BUG_REPORT_URL a text box in this section e.g. http://gitea:3000 or the tailnet name
HOST1_BUG_REPORT_REPO a text box in this section owner/repo
HOST1_BUG_REPORT_TOKEN a masked box with a Show button in this section Gitea API token with issue-write on that repo

Certificate Monitor

Reachable from:

  • Scheduler tab → Cert Monitor → Config → Certificate Monitor
  • Scheduler tab → Weekly Health Digest → Config → Certificate Monitor
  • Auth tab → Auth settings → Certificate Monitor
  • Settings tab → All settings → Certificate Monitor

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_CERT_MONITOR_DOMAINS a list, one entry per line in this section

Corruption Scan

Reachable from:

  • Scheduler tab → Arr Corruption Scan → Config → Corruption Scan
  • Settings tab → All settings → Corruption Scan

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_FFPROBE_CONTAINER a text box in this section
HOST1_FFPROBE_BIN a text box in this section
HOST1_FFPROBE_PATH_MAP a list, one entry per line in this section

Critical Sync Shares

Reachable from:

  • Scheduler tab → Critical Sync Maintenance → Config → Critical Sync Shares
  • Settings tab → All settings → Critical Sync Shares

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_CRITICAL_SYNC_SHARES a list, one entry per line in this section Appdata shares synced every 30 minutes. Format: "/path/to/share" or "/path/to/share|profile-name"

DDNS

Reachable from:

  • Scheduler tab → Fallback → Config → DDNS
  • Settings tab → All settings → DDNS

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_DDNS_CONTAINERS a list, one entry per line in this section DDNS containers this host manages.

Daily Sync Shares

Reachable from:

  • Scheduler tab → Daily Sync Maintenance → Config → Daily Sync Shares
  • Settings tab → All settings → Daily Sync Shares

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_DAILY_SYNC_SHARES a list, one entry per line in this section Media shares this host pushes to all other nodes every night. Uses DEFAULT_RSYNC_OPTS from master.conf — no profile needed.

Docker Daily Restart

Reachable from:

  • Scheduler tab → Docker Daily Restart → Config → Docker Daily Restart
  • Docker tab → Docker settings → Docker Daily Restart
  • Settings tab → All settings → Docker Daily Restart

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_DAILY_RESTART_CONTAINERS a list, one entry per line in this section

Docker Network Connect

Reachable from:

  • Scheduler tab → Docker Network Connect → Config → Docker Network Connect
  • Docker tab → Docker settings → Docker Network Connect
  • Settings tab → All settings → Docker Network Connect

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_NETWORK_CONNECT_CONTAINERS a list, one entry per line in this section
HOST1_NETWORK_CONNECT_NETWORKS a list, one entry per line in this section

Docker Watchdog

Reachable from:

  • Scheduler tab → Docker Watchdog → Config → Docker Watchdog
  • Watchdog tab → Watchdog settings → Docker Watchdog
  • Docker tab → Docker settings → Docker Watchdog
  • Settings tab → All settings → Docker Watchdog

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_WATCHDOG_CONTAINERS a list, one entry per line in this section Memory hard limits in MB — immediate restart if exceeded. 20GB=20480 16GB=16384 8GB=8192 4GB=4096 2GB=2048 1GB=1024
HOST1_WATCHDOG_CONTAINER_URLS a list, one entry per line in this section HTTP health check URLs — checked every cycle.
HOST1_WATCHDOG_CONTAINER_API_CHECKS a list, one entry per line in this section API-level health checks — catches HTTP-200-but-internally-frozen containers (DB lock, deadlocked thread, etc.) that a basic HTTP check above would miss. Pick an endpoint that forces a real DB round-trip — a lightweight status endpoint may stay 200 even while the rest of the app is locked up. Format: ["ContainerName"]="url|APIKey"
HOST1_WATCHDOG_REQUIRED_CONTAINERS a list, one entry per line in this section Required containers — must always be running.
HOST1_WATCHDOG_SCAN_IGNORE a list, one entry per line in this section Containers to skip in Tier 2 global scan.
HOST1_WATCHDOG_DEPENDENCIES a list, one entry per line in this section Dependency ordering — skip restarting a container if its dependency is also down.
HOST1_WATCHDOG_APPDATA_SIZES a list, one entry per line in this section Per-container appdata growth suppress ceilings in MB.

Docker Weekly Restart

Reachable from:

  • Scheduler tab → Docker Weekly Restart → Config → Docker Weekly Restart
  • Docker tab → Docker settings → Docker Weekly Restart
  • Settings tab → All settings → Docker Weekly Restart

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_WEEKLY_RESTART_CONTAINERS a list, one entry per line in this section

Downloaders

Reachable from:

  • Scheduler tab → Downloaders Reset → Config → Downloaders
  • Scheduler tab → Resource Watchdog → Config → Downloaders
  • Settings tab → All settings → Downloaders

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_SLSKD_URL a text box in this section
HOST1_SLSKD_API_KEY a masked box with a Show button in this section
HOST1_SLSKD_FAILED_IMPORTS_DIR a text box in this section
HOST1_SABNZBD_URL a text box in this section
HOST1_SABNZBD_API_KEY a masked box with a Show button in this section
HOST1_QBIT_URL a text box in this section
HOST1_QBIT_USERNAME a text box in this section
HOST1_QBIT_PASSWORD a masked box with a Show button in this section

Emby

Reachable from:

  • Scheduler tab → Emby Session Report → Config → Emby
  • Scheduler tab → Server Reboot → Config → Emby
  • Scheduler tab → Playback Aware Lidarr Discovery → Config → Emby
  • Scheduler tab → Playback Aware Radarr Discovery → Config → Emby
  • Scheduler tab → Playback Aware Sonarr Discovery → Config → Emby
  • Scheduler tab → Emby To Lidarr Sync → Config → Emby
  • Scheduler tab → Emby To Radarr Sync → Config → Emby
  • Scheduler tab → Emby To Sonarr Sync → Config → Emby
  • Scheduler tab → Emby Database Repair → Config → Emby
  • Media Stack tab → Media settings → Emby
  • Settings tab → All settings → Emby

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_EMBY_CONTAINER a text box in this section
HOST1_EMBY_URL a text box in this section
HOST1_EMBY_API_KEY a masked box with a Show button in this section

Fallback Tiers — What HOST1 Wants Covered When Down

Reachable from:

  • Fallback tab → Fallback settings → Fallback Tiers — What HOST1 Wants Covered When Down
  • Settings tab → All settings → Fallback Tiers — What HOST1 Wants Covered When Down

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
FALLBACK_HOST1_TIER1 a list, one entry per line in this section Containers the partner starts for HOST1 when HOST1 goes down. Tier 1 is always immediate. Higher tiers activate after HOST1_TIER*_DELAY minutes.
FALLBACK_HOST1_TIER2 a list, one entry per line in this section
FALLBACK_HOST1_TIER3 a list, one entry per line in this section
FALLBACK_HOST1_TIER4 a list, one entry per line in this section

Gitea

Route: Settings tab → All settings → Gitea

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_GITEA_API_TOKEN a masked box with a Show button in this section Personal access token for gitea_ssh_setup.sh. Create in Gitea: Settings → Applications → Generate Token → scope: write:user

Identity

Route: Settings tab → All settings → Identity

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_SSH_KEY a masked box with a Show button in this section HOST1 host1ame lives in master.conf (not a credential — safe for all servers). SSH key used for all server-to-server operations — rsync, failover, conf sync. Convention: /root/.ssh/_rsync_automation Must be in /root/.ssh/ and authorised in the partner's /root/.ssh/authorized_keys. Run Partnership/ssh_setup.sh to generate the key and copy it to the partner.
HOST1_STORAGE_PATH a text box in this section
HOST1_OWNER a text box in this section
HOST1_OWNER_EMAIL a text box in this section

Intermediate Sync Shares

Reachable from:

  • Scheduler tab → Intermediate Sync Maintenance → Config → Intermediate Sync Shares
  • Settings tab → All settings → Intermediate Sync Shares

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_INTERMEDIATE_SYNC_SHARES a list, one entry per line in this section Shares synced every 4 hours. Leave empty to skip mid-day rsync.

Internet Loss

Reachable from:

  • Scheduler tab → Fallback → Config → Internet Loss
  • Settings tab → All settings → Internet Loss

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
FALLBACK_HOST1_STOP_ON_NO_NET a list, one entry per line in this section Containers stopped immediately when internet is lost.

Jellyfin

Reachable from:

  • Media Stack tab → Media settings → Jellyfin
  • Settings tab → All settings → Jellyfin

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_JELLYFIN_CONTAINER a text box in this section
HOST1_JELLYFIN_URL a text box in this section
HOST1_JELLYFIN_API_KEY a masked box with a Show button in this section

Lidarr

Reachable from:

  • Scheduler tab → Lidarr Cleanup → Config → Lidarr
  • Scheduler tab → Lidarr Missing Art → Config → Lidarr
  • Scheduler tab → Lidarr Release Fixer → Config → Lidarr
  • Scheduler tab → Lidarr Duplicate Artist Cleanup → Config → Lidarr
  • Scheduler tab → Playback Aware Lidarr Discovery → Config → Lidarr
  • Scheduler tab → Emby To Lidarr Sync → Config → Lidarr
  • Media Stack tab → Media settings → Lidarr
  • Settings tab → All settings → Lidarr

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_LIDARR_URL a text box in this section
HOST1_LIDARR_API_KEY a masked box with a Show button in this section
HOST1_LIDARR_MUSIC_ROOT a text box in this section
HOST1_FANART_API_KEY a masked box with a Show button in this section
HOST1_LASTFM_API_KEY a masked box with a Show button in this section
HOST1_LIDARR_PATH_MAP a list, one entry per line in this section

Media Cleaner

Reachable from:

  • Scheduler tab → Media Cleaner → Config → Media Cleaner
  • Media Stack tab → Media settings → Media Cleaner
  • Settings tab → All settings → Media Cleaner

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_ANIME_CLEAN_FOLDERS a list, one entry per line in this section
HOST1_MEDIA_CLEAN_FOLDERS a list, one entry per line in this section

Media Permissions

Reachable from:

  • Scheduler tab → Media Shares Permissions → Config → Media Permissions
  • Scheduler tab → Bulk Permissions Repair → Config → Media Permissions
  • Scheduler tab → Trailer Folder Migration → Config → Media Permissions
  • Media Stack tab → Media settings → Media Permissions
  • Settings tab → All settings → Media Permissions

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_MEDIA_PERMISSION_SHARES a list, one entry per line in this section

Monthly Sync Shares

Route: Settings tab → All settings → Monthly Sync Shares

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_MONTHLY_SYNC_SHARES a list, one entry per line in this section Shares synced by monthly_maintenance.sh. Add here when ready.

Network Watchdog

Reachable from:

  • Scheduler tab → Network Watchdog → Config → Network Watchdog
  • Watchdog tab → Watchdog settings → Network Watchdog
  • Settings tab → All settings → Network Watchdog

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_NETWORK_WATCHDOG_DDNS_DOMAIN a text box in this section
HOST1_NETWORK_WATCHDOG_DDNS_CONTAINER a text box in this section
HOST1_NETWORK_WATCHDOG_NPM_URL a text box in this section

NginxProxyManager

Reachable from:

  • Auth tab → Auth settings → NginxProxyManager
  • Settings tab → All settings → NginxProxyManager

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_NPM_URL a text box in this section Admin API runs on 7818 (not 81 — 81 is the partnership WebUI port).
HOST1_NPM_USER a text box in this section NPM admin email
HOST1_NPM_PASS a masked box with a Show button in this section NPM admin password

Notifications

Route: Settings tab → All settings → Notifications

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_DISCORD_WEBHOOK a text box Settings tab Discord webhook — leave blank to disable.

Ollama

Reachable from:

  • Scheduler tab → Ai Index → Config → Ollama
  • Scheduler tab → Ai Query → Config → Ollama
  • Settings tab → All settings → Ollama

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_OLLAMA_URL a text box in this section e.g. http://localhost:11434 — empty if no local Ollama
HOST1_OLLAMA_GPU_UUID a text box in this section pins Ollama to one card on multi-GPU hosts
HOST1_OLLAMA_MODEL a text box in this section generation — must fully offload; see README-AI.md

PARTNERSHIP

Reachable from:

  • Settings tab → All settings → PARTNERSHIP
  • Partnership tab → Array Settings → PARTNERSHIP

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_PARTNERSHIP_AUTH_WEBUIS a list, one entry per line in this section Auth containers reconfigured on onboard/offboard. Format: "ContainerName|WebUIPort"
HOST1_PARTNERSHIP_AUTH_STACK a list, one entry per line in this section XML templates pushed to mirror during onboard — auth stack. Dependencies (databases) must come before apps that depend on them.
HOST1_PARTNERSHIP_ARR_STACK a list, one entry per line in this section XML templates pushed to mirror during onboard — arr stack.
HOST1_PARTNERSHIP_SERVICES_STACK a list, one entry per line in this section XML templates pushed to mirror during onboard — other services (not auth, not arr).
HOST1_PARTNERSHIP_MIRROR_BACKUPS a list, one entry per line in this section Paths the partner should collect during the grace window after offboard.
HOST1_PARTNERSHIP_OWN_CONTAINERS a list, one entry per line in this section Containers parked on this server when partnership is active.
HOST1_PARTNERSHIP_REPLACE_CONTAINERS a list, one entry per line in this section Containers stopped on THIS server before deploying the mirror's stack on onboard.
HOST1_PARTNERSHIP_ARR_REPLACE_CONTAINERS a list, one entry per line in this section Arr containers stopped on this server when mirror's arr stack is deployed.
HOST1_PARTNERSHIP_PROVISION_EMBY_ADMIN a switch in this section owner controls whether Emby is shared
HOST1_PARTNERSHIP_EMBY_PORT a number box in this section
HOST1_PARTNERSHIP_EMBY_ADMIN_USER a text box in this section this server's desired Emby username
HOST1_PARTNERSHIP_EMBY_ADMIN_PASS a masked box with a Show button in this section this server's desired Emby password

PCIe AER Quiet

Route: Settings tab → All settings → PCIe AER Quiet

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_PCIE_QUIET_DEVICES a list, one entry per line in this section Only devices bound to vfio-pci or to no driver at all are eligible. Anything with a live driver is refused, so a mistyped address cannot pull an HBA or NIC out from under a running system. Devices claimed by a running VM are refused too. Gated by PCIE_QUIET_ENABLED in master.conf. Empty list = no-op.

Personal Shares

Route: Settings tab → All settings → Personal Shares

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_PERSONAL_SHARES a list, one entry per line in this section Private encrypted shares synced for offsite backup, independent of media shares.

RESOURCE MANAGER

Route: Settings tab → All settings → RESOURCE MANAGER

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_RW_PAUSE_CONTAINERS a list, one entry per line in this section
HOST1_RW_STOP_CONTAINERS a list, one entry per line in this section

Radarr

Reachable from:

  • Scheduler tab → Radarr Cleanup → Config → Radarr
  • Scheduler tab → Radarr Classification Scan → Config → Radarr
  • Scheduler tab → Playback Aware Radarr Discovery → Config → Radarr
  • Scheduler tab → Radarr Tmdb Removed → Config → Radarr
  • Scheduler tab → Emby To Radarr Sync → Config → Radarr
  • Media Stack tab → Media settings → Radarr
  • Settings tab → All settings → Radarr

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_RADARR_URL a text box in this section
HOST1_RADARR_API_KEY a masked box with a Show button in this section
HOST1_TMDB_API_KEY a masked box with a Show button in this section
HOST1_RADARR_MOVIES_ROOT a text box in this section
HOST1_RADARR_GENERAL_ROOT a text box in this section rootFolderPath literal for the general root — target for reverse-kids-leak moves
HOST1_RADARR_KIDS_ROOT a text box in this section rootFolderPath literal, as reported by Radarr API
HOST1_RADARR_ANIME_ROOT a text box in this section
HOST1_RADARR_DOWNLOAD_DIR a text box in this section
HOST1_RADARR_DOWNLOAD_CONTAINER_DIR a text box in this section
HOST1_RADARR_PATH_MAP a list, one entry per line in this section

Rsync Writeback

Reachable from:

  • Rsync tab → Rsync settings → Rsync Writeback
  • Settings tab → All settings → Rsync Writeback

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_TIER1_WRITEBACK_DELAY a number box in this section skip Emby writeback if outage under 1hr
FALLBACK_HOST1_WRITEBACK_TIER1 a list, one entry per line in this section
FALLBACK_HOST1_WRITEBACK_TIER2 a list, one entry per line in this section
FALLBACK_HOST1_WRITEBACK_TIER3 a list, one entry per line in this section
FALLBACK_HOST1_WRITEBACK_TIER4 a list, one entry per line in this section

SMART Health

Reachable from:

  • Scheduler tab → Smart Health → Config → SMART Health
  • Settings tab → All settings → SMART Health

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_SMART_IGNORE_DRIVES a list, one entry per line in this section

SYSTEM WATCHDOG

Reachable from:

  • Scheduler tab → Watchdog Orchestrator → Config → SYSTEM WATCHDOG
  • Watchdog tab → Watchdog settings → SYSTEM WATCHDOG
  • Settings tab → All settings → SYSTEM WATCHDOG

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_SYS_WATCHDOG_NIC a text box in this section
HOST1_SYS_WATCHDOG_CHECK_DOCKER_DAEMON a switch in this section
HOST1_SYS_WATCHDOG_CHECK_ROOTFS a switch in this section
HOST1_SYS_WATCHDOG_CHECK_KERNEL_OOPS a switch in this section
HOST1_SYS_WATCHDOG_CHECK_FD a switch in this section
HOST1_SYS_WATCHDOG_CHECK_BOOT a switch in this section
HOST1_SYS_WATCHDOG_CHECK_OOM a switch in this section
HOST1_SYS_WATCHDOG_CHECK_RAM a switch in this section
HOST1_SYS_WATCHDOG_CHECK_LOG a switch in this section
HOST1_SYS_WATCHDOG_CHECK_ARC a switch in this section
HOST1_SYS_WATCHDOG_CHECK_CPU_TEMP a switch in this section
HOST1_SYS_WATCHDOG_CHECK_LOAD a switch in this section
HOST1_SYS_WATCHDOG_CHECK_ZOMBIES a switch in this section
HOST1_SYS_WATCHDOG_CHECK_CONTAINERS a switch in this section
HOST1_SYS_WATCHDOG_CHECK_TMP a switch in this section
HOST1_SYS_WATCHDOG_CHECK_MDSTAT a switch in this section
HOST1_SYS_WATCHDOG_CHECK_NETWORK a switch in this section
HOST1_SYS_WATCHDOG_CHECK_SSHD a switch in this section
HOST1_SYS_WATCHDOG_CHECK_RUNAWAY a switch in this section

Sonarr

Reachable from:

  • Scheduler tab → Sonarr Cleanup → Config → Sonarr
  • Scheduler tab → Sonarr Classification Scan → Config → Sonarr
  • Scheduler tab → Playback Aware Sonarr Discovery → Config → Sonarr
  • Scheduler tab → Sonarr Tvdb Removed → Config → Sonarr
  • Scheduler tab → Emby To Sonarr Sync → Config → Sonarr
  • Media Stack tab → Media settings → Sonarr
  • Settings tab → All settings → Sonarr

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_SONARR_URL a text box in this section
HOST1_SONARR_API_KEY a masked box with a Show button in this section
HOST1_SONARR_TV_ROOT a text box in this section
HOST1_SONARR_GENERAL_ROOT a text box in this section rootFolderPath literal for the general root — target for reverse-kids-leak moves
HOST1_SONARR_KIDS_ROOT a text box in this section rootFolderPath literal, as reported by Sonarr API
HOST1_SONARR_ANIME_ROOT a text box in this section
HOST1_SONARR_DOWNLOAD_DIR a text box in this section
HOST1_SONARR_DOWNLOAD_CONTAINER_DIR a text box in this section
HOST1_SONARR_PATH_MAP a list, one entry per line in this section

Storage mode

Route: Settings tab → All settings → Storage mode

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_STORAGE_MODE_INTERNAL a switch Settings tab Controls where Varaverk stores scripts, conf, and state files. true = internal NVMe/SSD — /boot/config/plugins/varaverk (write-safe, git-direct) false = USB flash boot — /mnt/user/appdata/Varaverk (preserves flash lifetime) Auto-detected from boot device transport on first setup. To change: Settings → Storage → Migrate.

TRANSCODES

Route: Settings tab → All settings → TRANSCODES

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_RAMDISK_SIZE a text box in this section
HOST1_RAMDISK_WARN_GB a text box in this section flip to SSD when ramdisk usage reaches this
HOST1_RAMDISK_LOW_GB a number box in this section flip back to ramdisk when usage drops to this
HOST1_TRANSCODE_SSD a text box in this section
HOST1_TRANSCODE_SERVERS a list, one entry per line in this section

Tier Delays — HOST1 Outage Timers

Reachable from:

  • Fallback tab → Fallback settings → Tier Delays — HOST1 Outage Timers
  • Settings tab → All settings → Tier Delays — HOST1 Outage Timers

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_TIER2_DELAY a number box in this section 4 hours — NextCloud, Immich
HOST1_TIER3_DELAY a number box in this section 12 hours — secondary services
HOST1_TIER4_DELAY a number box in this section 24 hours — arrs + downloaders

Unraid API

Route: Settings tab → All settings → Unraid API

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_UNRAID_API_KEY a masked box with a Show button in this section Used by the Varaverk plugin to query this server's Unraid GraphQL API. Generate in Unraid: Settings → Management Access → API Keys → + New Key

Route: Settings tab → All settings → Web search

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_DEGOOG_URL a text box in this section e.g. http://localhost:4444 — self-hosted, no key, /api/search
HOST1_SEARXNG_URL a text box in this section e.g. http://localhost:8888 — needs format: [json] in its settings.yml
HOST1_WEB_SEARCH_API_KEY a masked box with a Show button in this section brave or tavily; unused when the provider is searxng
HOST1_OLLAMA_EMBED_MODEL a text box in this section embeddings — the generation model cannot embed

Weekly Sync Shares

Reachable from:

  • Scheduler tab → Weekly Sync Maintenance → Config → Weekly Sync Shares
  • Settings tab → All settings → Weekly Sync Shares

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_WEEKLY_SYNC_SHARES a list, one entry per line in this section Appdata shares synced during the weekly maintenance window. Profiles (emby, critical-data) drive container stops — define in master.conf.

ZFS Report

Reachable from:

  • Scheduler tab → Zfs Memory Snapshot → Config → ZFS Report
  • Settings tab → All settings → ZFS Report

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_ZFS_REPORT_IGNORE_POOLS a list, one entry per line in this section

lldap

Reachable from:

  • Auth tab → Auth settings → lldap
  • Settings tab → All settings → lldap

Saved into host1.conf, which does not need to be opened by hand.

Setting Control Where What it does
HOST1_LLDAP_URL a text box in this section
HOST1_LLDAP_USER a text box in this section lldap admin username
HOST1_LLDAP_PASS a masked box with a Show button in this section lldap admin password

AI Chat Caution

Reachable from:

  • AI tab → Settings → Configuration → AI Chat Caution
  • Settings tab → All settings → AI Chat Caution

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_CHAT_MY_SYSTEM_PHRASES a text box in this section Pipe-separated extra phrases for what grammar misses: a nickname for the box, a share name, anything that in practice means "mine". Matched as literal text, not as patterns.

AI Conf Write Access

Reachable from:

  • AI tab → Settings → Configuration → AI Conf Write Access
  • Settings tab → All settings → AI Conf Write Access

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_CONF_WRITE_ENABLED a switch in this section Separate switch from AI_ENABLED, off by default, and an explicit key whitelist. Never paths, never credentials, never a container name. An empty whitelist means no writes regardless of the toggle.
AI_CONF_WRITE_KEYS a list, one entry per line in this section

AI Feature Toggles

Reachable from:

  • Scheduler tab → Ai Token Sync → Config → AI Feature Toggles
  • AI tab → Settings → Configuration → AI Feature Toggles
  • Settings tab → All settings → AI Feature Toggles

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_ASSIST_REPORTS a switch in this section tier 1 — digest / coffee report narration
AI_ASSIST_WATCHDOG a switch in this section tier 2 — file a finding when a watchdog counter passes its limit (needs AI_REPAIR_ENABLED)
AI_ASSIST_DISCOVERY a switch in this section tier 2 — discovery / classification judgement calls
AI_ASSIST_CLEANUP a switch in this section tier 2 — orphan and stuck-import triage
AI_ASSIST_ONBOARD a switch in this section tier 3 — onboarding / settings assistance

AI Learned Memory

Reachable from:

  • AI tab → Settings → Configuration → AI Learned Memory
  • Settings tab → All settings → AI Learned Memory

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_MEMORY_LEARN_ENABLED a switch in this section Costs nothing while off: the instruction that asks for a candidate is only added to the prompt when this is true, so a disabled feature is genuinely absent rather than merely ignored.
AI_MEMORY_LEARN_AUTO_ACCEPT a switch in this section Writes accepted candidates without asking. Cannot outrank its parent — with proposing off this does nothing. Leave it false until the proposals have proven good for a while.

AI Master Switch

Reachable from:

  • Scheduler tab → Ai Index → Config → AI Master Switch
  • Scheduler tab → Ai Query → Config → AI Master Switch
  • Scheduler tab → Ai Repair Sweep → Config → AI Master Switch
  • AI tab → Settings → Configuration → AI Master Switch
  • Settings tab → All settings → AI Master Switch

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_ENABLED a switch Settings tab Fail-closed: anything other than the literal "true" means off.
AI_CONNECT_TIMEOUT a number box, in seconds in this section seconds — probe when resolving which node has Ollama
AI_REQUEST_TIMEOUT a number box, in seconds in this section seconds — must clear a cold model load
AI_RESOLVE_CACHE_TTL a number box, in seconds in this section seconds — don't re-probe the mesh every invocation
AI_MAX_RETRIES a number box in this section AI is enhancement; do not retry hard

AI Memory

Reachable from:

  • AI tab → Settings → Configuration → AI Memory
  • Settings tab → All settings → AI Memory

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_MEMORY_ASSISTED_FILE a text box in this section AI_MEMORY_FILE is the pre-split name and is still honoured: while the assisted file does not exist, the legacy path is read instead, so an upgrade loses nothing.
AI_MEMORY_LEARNED_FILE a text box in this section
AI_MEMORY_FILE a text box in this section
AI_MEMORY_ASSISTED_PROFILES a text box in this section Which profiles each slot is given. "*" is all of them. Narrowing is how a General Chat question about bash syntax stops carrying this machine's PCIe topology and disk serials.
AI_MEMORY_LEARNED_PROFILES a text box in this section
AI_MEMORY_MAX_CHARS a number box in this section ~1000 tokens — truncated with a notice if exceeded
AI_MEMORY_LEARNED_MAX_CHARS a number box in this section A ceiling on the learned slot alone, well under the total. A store that grows on its own would otherwise end up occupying the whole budget, and the operator's own memory is what would get truncated away — the exact inversion of which one matters.

AI Repair

Reachable from:

  • Scheduler tab → Ai Repair Sweep → Config → AI Repair
  • AI tab → Settings → Configuration → AI Repair
  • Settings tab → All settings → AI Repair

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_REPAIR_ENABLED a switch in this section AI_REPAIR_AUTOFIX_ENABLED is what allows a value to be written unattended, and only ever a value a probe has answered on. Never a toggle: whether something should be switched on is a decision about intent, and a probe cannot prove intent the way it can prove a port answers.
AI_REPAIR_AUTOFIX_ENABLED a switch in this section

AI Repair Findings

Reachable from:

  • Scheduler tab → Ai Repair Sweep → Config → AI Repair Findings
  • AI tab → Settings → Configuration → AI Repair Findings
  • Settings tab → All settings → AI Repair Findings

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_FINDING_RETAIN_DAYS a number box in this section Misconfigurations found in this installation, as opposed to defects in Varaverk — those go to ai_bugs. A finding is open until the configuration is right, and closes itself when the probe that proved the fault starts passing. Closed ones are kept for a while, because "this happened before and here is what fixed it" is worth more than the disk. Open findings are never pruned: an unresolved probl…
AI_PROBE_TIMEOUT a number box, in seconds in this section Seconds a single probe may take. Nothing is written to conf that has not answered a probe, so this is the budget for proving a candidate — kept short because a sweep may try several, and an address worth switching to answers quickly or is not worth switching to.
AI_REPAIR_NOTIFY_ENABLED a switch in this section On by default, unlike the two switches above. Those gate reading and writing, which are things to be trusted first. This gates telling someone, which is the reason for having looked.

AI Repair: what it reads

Reachable from:

  • AI tab → Settings → Configuration → AI Repair: what it reads
  • Settings tab → All settings → AI Repair: what it reads

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_REPAIR_SYSLOG_ENABLED a switch in this section Both are bounded by time (since the last pass) and by a line cap, so a flood costs one pass. Tools/ai_log_check.sh replays this host's real logs against the patterns — run it after changing any of them.
AI_REPAIR_SYSLOG_MAX_LINES a number box in this section
AI_REPAIR_CONTAINER_LOGS_ENABLED a switch in this section
AI_REPAIR_CONTAINER_LOG_LINES a number box in this section

AI Retrieval Index

Reachable from:

  • Scheduler tab → Ai Index → Config → AI Retrieval Index
  • Scheduler tab → Ai Query → Config → AI Retrieval Index
  • AI tab → Settings → Configuration → AI Retrieval Index
  • Settings tab → All settings → AI Retrieval Index

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_INDEX_DB a text box in this section Only git-tracked files are ever indexed. Configurations/, State_Files/ and data/ are gitignored, which is what makes it structurally impossible for a credential to reach the index: the files holding them were never in the repo. Do not "improve" this to a filesystem walk — an embedded secret cannot be rotated out of a vector.
AI_INDEX_BATCH a number box in this section chunks per embed request
AI_INDEX_ON_PULL a switch in this section re-index after a git pull that changed tracked files
AI_SEARCH_K a number box in this section chunks retrieved per query
AI_SEARCH_PER_FILE a number box in this section cap per file so one document cannot fill the context

AI Stored Conversations

Reachable from:

  • AI tab → Settings → Configuration → AI Stored Conversations
  • Settings tab → All settings → AI Stored Conversations

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_CHAT_HISTORY_MAX a number box, in conversations, 150 in this section conversations kept — clamped to 1-50

AI Token Accounting

Reachable from:

  • AI tab → Settings → Configuration → AI Token Accounting
  • Settings tab → All settings → AI Token Accounting

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_TOKEN_DB a text box in this section Retention is by row count rather than age: pruning is considered only when the file passes a size threshold, so an ordinary turn costs one stat() and an append.
AI_TOKEN_RETAIN_ROWS a number box in this section oldest rows dropped past this — years of ordinary use
AI_TOKEN_SYNC_ENABLED a switch in this section AI/ai_token_sync.sh pulls each partner's ledger into the tmpfs cache the tab reads, so the fleet total is a fleet total. Same trick conf_sync.sh uses for partner confs, minus the push: nothing here is needed by anyone else, so the reader fetches its own data and controls its own freshness. An unreachable partner is a quiet skip, not a warning — a partner is expected to be down for long stretche…

Reachable from:

  • AI tab → Settings → Configuration → AI Web Search
  • Settings tab → All settings → AI Web Search

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
AI_WEB_SEARCH_ENABLED a switch in this section Provider: degoog | searxng | brave | tavily degoog self-hosted, no key — set HOST*_DEGOOG_URL. Aggregates several engines and returns them merged. The default, and the only one verified against a live service here searxng self-hosted, no key, no third party — set HOST*_SEARXNG_URL, and enable format: [json] in its own settings.yml, which the default image ships with off brave HOST*_WEB_SEARC…
AI_WEB_SEARCH_PROVIDER a text box in this section
AI_WEB_SEARCH_RESULTS a number box in this section
AI_WEB_SEARCH_TIMEOUT a number box in this section

Abort Toggles

Route: Settings tab → All settings → Abort Toggles

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
SYS_WATCHDOG_ABORT_ON_ZFS_UNHEALTHY a switch in this section rebooting with bad pool risks data loss
SYS_WATCHDOG_ABORT_ON_PARITY a switch in this section aborting parity better than crashing mid-check
SYS_WATCHDOG_ABORT_ON_MOVER a switch in this section aborting move better than crashing mid-move

Arr Cleanup

Reachable from:

  • Scheduler tab → Radarr Cleanup → Config → Arr Cleanup
  • Scheduler tab → Lidarr Cleanup → Config → Arr Cleanup
  • Scheduler tab → Sonarr Cleanup → Config → Arr Cleanup
  • Media Stack tab → Media settings → Arr Cleanup
  • Settings tab → All settings → Arr Cleanup

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
SONARR_VERSION_MAJOR a number box in this section API versions — update MAJOR version here when script is updated for a new arr version: Sonarr v4 → /api/v3/series → /api/v3/episodefile?seriesId=X Radarr v6 → /api/v3/movie → /api/v3/moviefile?movieId=X Lidarr v3 → /api/v1/artist → /api/v1/trackFile?artistId=X
RADARR_VERSION_MAJOR a number box in this section
LIDARR_VERSION_MAJOR a number box in this section
ARR_KIDS_PROFILE_NAME a text box in this section arr_profile_enforcer.sh — quality profile names by root folder type Root folder paths containing "kids" or "anime" → ARR_KIDS_PROFILE_NAME All other root folders → ARR_*_DEFAULT_PROFILE
ARR_SONARR_DEFAULT_PROFILE a text box in this section
ARR_RADARR_DEFAULT_PROFILE a text box in this section
LIDARR_RELEASE_FIXER_ENABLED a switch in this section set false to disable without removing from job list
LIDARR_LOCK_WARN_AGE a number box in this section 1hr — large libraries take time, not stuck
LIDARR_ORPHAN_AGE a number box, in days in this section days — files must be older than this before eligible for deletion
LIDARR_MAX_DELETE_GB a number box in this section require --i-know-what-im-doing if deletion exceeds this
LIDARR_MIN_TRACKED_PCT a number box in this section abort if tracked count drops below this % of last run
LIDARR_TRACKED_COUNT_FILE a text box in this section
LIDARR_IMPORT_SCAN_TIMEOUT a number box, in seconds in this section seconds to wait for pre-flight import scan
LIDARR_CACHE_FILE a text box in this section Lidarr tracked-data cache — shared by lidarr_cleanup.sh, lidarr_duplicate_artist_cleanup.sh, lidarr_missing_art.sh, lidarr_release_fixer.sh, and arr_cache_prefill.sh. See lidarr_get_tracked_data() in common.sh for the fresh/stale/rescan-active branching logic.
LIDARR_RESCAN_DURATION_DB a text box in this section
LIDARR_CACHE_MAX_AGE_DAYS a number box in this section force a live refresh (or rescan-aware wait) past this age
ARR_PREFILL_WAIT_MINUTES a number box in this section array-start prefill: how long to retry reaching each arr
LIDARR_EXTENSIONS a list, one entry per line in this section
LIDARR_PROTECTED_PATTERNS a list, one entry per line in this section
LIDARR_ART_MIN_SIZE a number box in this section bytes — reject downloads smaller than this
LIDARR_ART_MAX_PARALLEL a number box in this section concurrent background download jobs
LIDARR_ART_RETRIES a number box in this section download retry attempts per image
LIDARR_ART_SLEEP_BETWEEN a text box in this section seconds between fanart.tv API calls
LIDARR_ART_RECHECK_DAYS a number box, in days in this section days before re-querying art that upstream didn't have
LIDARR_ART_MISS_CACHE a text box in this section negative cache — art upstream has never had
LIDARR_DISCOVERY_THRESHOLD a number box in this section score to accept candidate (0-100)
LIDARR_DISCOVERY_LOOKBACK_DAYS a number box in this section Emby play history window in days
LIDARR_DISCOVERY_MIN_PLAYS a number box in this section min plays in window before evaluating an artist
LIDARR_DISCOVERY_USER_CAP_PCT a number box in this section max % any single user can contribute to play score (prevents one listener dominating)
LIDARR_DISCOVERY_MAX_ADDS a number box in this section max artists to add per run — quality over bulk
LIDARR_DISCOVERY_REJECT_COOLDOWN a number box, in days in this section days before re-evaluating a rejected artist
LIDARR_DISCOVERY_HISTORY a text box in this section
SONARR_DISCOVERY_THRESHOLD a number box in this section score to accept candidate (0-100)
SONARR_DISCOVERY_LOOKBACK_DAYS a number box in this section Emby episode play history window in days (shorter than movies — TV watched more frequently)
SONARR_DISCOVERY_MAX_SEEDS a number box in this section max seed series from Stage 1
SONARR_DISCOVERY_MAX_ADDS a number box in this section max shows to add per run — TV is a larger commitment than movies
SONARR_DISCOVERY_MIN_VOTE_COUNT a number box in this section min TMDB votes (TV has fewer votes than movies at same popularity)
SONARR_DISCOVERY_MIN_RATING a number box in this section min TMDB vote_average × 10 (65 = 6.5/10)
SONARR_DISCOVERY_REJECT_COOLDOWN a number box, in days in this section days before re-evaluating a rejected show
SONARR_DISCOVERY_USER_EPISODE_CAP a number box in this section max episodes any one user contributes to seed volume score
SONARR_DISCOVERY_MONITOR_MODE a dropdown (all, future, first, latest, none) in this section Sonarr monitor mode on add: all | future | first | latest | none
SONARR_DISCOVERY_HISTORY a text box in this section
RADARR_DISCOVERY_THRESHOLD a number box in this section score to accept candidate (0-100) — lower than Lidarr since diverse seeds rarely overlap
RADARR_DISCOVERY_LOOKBACK_DAYS a number box in this section Emby watch history window in days (movies rewatched less often)
RADARR_DISCOVERY_MAX_SEEDS a number box in this section max seed movies from Stage 1
RADARR_DISCOVERY_MAX_ADDS a number box in this section max movies to add per run
RADARR_DISCOVERY_MIN_VOTE_COUNT a number box in this section min TMDB votes to be considered a candidate
RADARR_DISCOVERY_MIN_RATING a number box in this section min TMDB vote_average × 10 (60 = 6.0/10)
RADARR_DISCOVERY_REJECT_COOLDOWN a number box, in days in this section days before re-evaluating a rejected movie
RADARR_DISCOVERY_SEED_LIBRARIES a list, one entry per line in this section
RADARR_DISCOVERY_HISTORY a text box in this section
SONARR_EMBY_LIBRARIES a list, one entry per line in this section Emby → arr sync library allowlists Only these Emby library names will be considered by the sync tools. Names must match exactly as shown in Emby > Dashboard > Libraries.
RADARR_EMBY_LIBRARIES a list, one entry per line in this section
SONARR_ORPHAN_AGE a number box, in days in this section days — files must be older than this before eligible for deletion
SONARR_MAX_DELETE_GB a number box in this section require --i-know-what-im-doing if deletion exceeds this
SONARR_MIN_TRACKED_PCT a number box in this section abort if tracked count drops below this % of last run
SONARR_TRACKED_COUNT_FILE a text box in this section
SONARR_IMPORT_SCAN_TIMEOUT a number box, in seconds in this section seconds to wait for pre-flight import scan
SONARR_MOVE_POLL_TIMEOUT a number box, in seconds in this section seconds to wait for a single async MoveSeries command to
CORRUPTION_SCAN_STATE_FILE a text box in this section clean-file skip-cache
CORRUPTION_SCAN_STRIKES_FILE a text box in this section consecutive corrupt-detection counts, keyed by host path
CORRUPTION_SCAN_STRIKE_LIMIT a number box, in consecutive in this section consecutive corrupt detections (across separate scan runs)
SONARR_EXTENSIONS a list, one entry per line in this section
SONARR_PROTECTED_PATTERNS a list, one entry per line in this section
RADARR_ORPHAN_AGE a number box, in days in this section days — files must be older than this before eligible for deletion
RADARR_MAX_DELETE_GB a number box in this section require --i-know-what-im-doing if deletion exceeds this
RADARR_MIN_TRACKED_PCT a number box in this section abort if tracked count drops below this % of last run
RADARR_TRACKED_COUNT_FILE a text box in this section
RADARR_IMPORT_SCAN_TIMEOUT a number box, in seconds in this section seconds to wait for pre-flight import scan
RADARR_MOVE_POLL_TIMEOUT a number box, in seconds in this section seconds to wait for a single async MoveMovie command to
RADARR_EXTENSIONS a list, one entry per line in this section
RADARR_PROTECTED_PATTERNS a list, one entry per line in this section
RADARR_DROPPED_ADD_EXCLUSION a switch in this section add removed movies to import exclusion list
SONARR_DROPPED_ADD_EXCLUSION a switch in this section add removed series to import exclusion list

Arr Content Classification (radarr/sonarr_classification_scan.sh)

Reachable from:

  • Scheduler tab → Radarr Classification Scan → Config → Arr Content Classification (radarr/sonarr_classification_scan.sh)
  • Scheduler tab → Sonarr Classification Scan → Config → Arr Content Classification (radarr/sonarr_classification_scan.sh)
  • Media Stack tab → Media settings → Arr Content Classification (radarr/sonarr_classification_scan.sh)
  • Settings tab → All settings → Arr Content Classification (radarr/sonarr_classification_scan.sh)

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
RADARR_ANIME_STUDIOS a list, one entry per line in this section
RADARR_KIDS_STUDIOS a list, one entry per line in this section
RADARR_JUNK_MIN_VOTES a number box in this section
SONARR_ANIME_NETWORKS a list, one entry per line in this section
SONARR_KIDS_NETWORKS a list, one entry per line in this section

Arr Failed/Stalled Recovery

Reachable from:

  • Scheduler tab → Arrs Failed Stalled Recovery → Config → Arr Failed/Stalled Recovery
  • Media Stack tab → Media settings → Arr Failed/Stalled Recovery
  • Settings tab → All settings → Arr Failed/Stalled Recovery

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
ARR_IMPORT_RECOVERY_AGE a number box, in hours Media Stack tab hours — skip items newer than this
ARR_RECOVERY_MAX_ATTEMPTS a number box, in consecutive in this section consecutive failures before an item is flagged chronic
ARR_SMART_IMPORT_ENABLED a switch in this section importBlocked items: try importing a clean same-language
ARR_SMART_IMPORT_PREFERRED_LANGUAGE a text box in this section only treated as a match/upgrade if the

Arr Full Library Rescan

Reachable from:

  • Scheduler tab → Arr Full Rescan → Config → Arr Full Library Rescan
  • Media Stack tab → Media settings → Arr Full Library Rescan
  • Settings tab → All settings → Arr Full Library Rescan

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
ARR_FULL_RESCAN_TIMEOUT a number box, in seconds in this section seconds per arr — a full-library walk, not a single release

Arr Sync

Reachable from:

  • Media Stack tab → Media settings → Arr Sync
  • Settings tab → All settings → Arr Sync

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
ARR_SYNC_ENABLED a switch in this section arr_sync.sh syncs Lidarr/Sonarr/Radarr libraries across all nodes bidirectionally. Runs before rsync — all nodes agree on tracked library before files are transferred. Remote API keys are read live from each node's config.xml via SSH — never stored here.
ARR_SYNC_BLOCKLIST a text box in this section
ARR_SYNC_CONNECT_TIMEOUT a number box, in seconds in this section seconds — SSH connect timeout per node
ARR_SYNC_API_TIMEOUT a number box, in seconds in this section seconds — curl timeout for library fetches
DOCKER_APPDATA_BASE a text box in this section set by platform adapter; override in host*.conf if needed
ARR_SYNC_LIDARR_PORT a number box in this section
ARR_SYNC_SONARR_PORT a number box in this section
ARR_SYNC_RADARR_PORT a number box in this section

Array Start

Reachable from:

  • Scheduler tab → Array Started → Config → Array Start
  • Settings tab → All settings → Array Start

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
ARRAY_START_SCRIPTS a list, one entry per line in this section Scripts launched by array_started.sh when the array comes online. Launched in order — each as a background process. One-shot scripts (ramdisk, syslog, fpm, inotify, network) run and exit naturally. Continuous scripts (failover) run until array stops. Watchdogs (resource_watchdog, docker_watchdog, system_watchdog) are cronned via watchdog_orchestrator.sh — NOT launched here.

Array Stop

Reachable from:

  • Scheduler tab → Array Stopping → Config → Array Stop
  • Settings tab → All settings → Array Stop

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
ARRAY_STOP_SCRIPTS a list, one entry per line in this section Scripts run by array_stopping.sh for a planned shutdown — stops everything cleanly in order. Run sequentially (foreground) — each must complete before the next starts. Order matters: user scripts first (prevents new ops), then data movement, then containers.

Backup Verify

Reachable from:

  • Scheduler tab → Backup Verify → Config → Backup Verify
  • Settings tab → All settings → Backup Verify

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
BACKUP_VERIFY_SAMPLE a number box in this section random files to check per share
BACKUP_VERIFY_MIN_SIZE a text box in this section minimum file size to include in sample

Bandwidth Monitor

Reachable from:

  • Scheduler tab → Bandwidth Monitor → Config → Bandwidth Monitor
  • Settings tab → All settings → Bandwidth Monitor

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
BANDWIDTH_LOG a text box in this section Called automatically by rsync.sh after each sync — one bounded write per run. Tracks transfer size, duration and profile per sync for weekly summary reporting.
BANDWIDTH_LOG_RETENTION a number box, in days in this section days before old entries purged
BANDWIDTH_WARN_GB a number box Rsync tab flag syncs larger than this in weekly report
ARR_CLEANUP_STATS a text box in this section lidarr/sonarr/radarr orphan stats
ARR_RECOVERY_STATS a text box in this section blocklist + re-search stats
ARR_RECOVERY_FAILURE_COUNTS a text box in this section per-item chronic-failure tracking

Bug Reports

Route: Settings tab → All settings → Bug Reports

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
BUG_REPORT_LOCAL_ENABLED a switch in this section LOCAL ON — reports go to your own Gitea (HOST1_BUG_REPORT_* in host1.conf) and stay there. They do NOT reach the Varaverk maintainer. LOCAL OFF — reports open a prefilled GitHub issue you submit under your own account. Nothing is ever transmitted automatically: the report is shown read-only and sending is a separate press.
BUG_REPORT_GITHUB_REPO a text box in this section

Certificate Monitor

Reachable from:

  • Scheduler tab → Cert Monitor → Config → Certificate Monitor
  • Scheduler tab → Weekly Health Digest → Config → Certificate Monitor
  • Auth tab → Auth settings → Certificate Monitor
  • Settings tab → All settings → Certificate Monitor

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
CERT_WARN_DAYS a number box in this section warn when cert expires within this many days
CERT_CRIT_DAYS a number box in this section critical alert within this many days
CERT_TIMEOUT a number box, in seconds in this section seconds per domain before giving up

Clear Logs

Reachable from:

  • Scheduler tab → Clear Logs → Config → Clear Logs
  • Settings tab → All settings → Clear Logs

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
LOG_FILES a list, one entry per line in this section Size threshold approach — only clear if log exceeds threshold. Avoids destroying useful recent diagnostic context when logs are small. LOG_MIN_SIZE_MB: skip clearing if log is under this size (not worth clearing) LOG_DOCKER_MAX_MB: clear a container log only if it exceeds this size Docker logs grow fastest on active containers (Emby, SABnzbd, Sonarr) 100MB per container × 30 containers = 3GB be…
LOG_MIN_SIZE_MB a number box in this section skip system log if under this size (already small)
LOG_DOCKER_MAX_MB a number box in this section clear Docker container log only if over this size (MB)

Conf Backups

Route: Settings tab → All settings → Conf Backups

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
CONF_BACKUP_RETAIN a number box in this section Every write through the plugin copies the conf aside first, to CONF_BACKUP_DIR with an ISO-8601 stamp. The confs are gitignored, so that directory is the whole recovery path — there is no history to revert to. A backup that cannot be taken cancels the write. Oldest are pruned past this count, per conf file.

Conf Sync

Route: Settings tab → All settings → Conf Sync

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
CONF_SYNC_ENABLED a switch in this section HOST2 rebuild in progress — re-enable when HOST2 is back online

Critical Containers

Route: Settings tab → All settings → Critical Containers

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
RW_CRITICAL_CONTAINERS a list, one entry per line in this section Never paused or stopped regardless of pressure level. Keep DNS, auth, media serving, and live TV always running.

Critical Sync Maintenance

Reachable from:

  • Scheduler tab → Critical Sync Maintenance → Config → Critical Sync Maintenance
  • Settings tab → All settings → Critical Sync Maintenance

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
CRITICAL_MAINTENANCE_SCRIPTS a list, one entry per line in this section critical_sync_maintenance.sh runs every 30 minutes. Order: CRITICAL_MAINTENANCE_SCRIPTS (jobs) → CRITICAL_SYNC_SHARES (rsync) → partnership --check partnership --check always runs last regardless of rsync gate. Comment out entries to disable without removing.

Daily Sync Maintenance

Reachable from:

  • Scheduler tab → Daily Sync Maintenance → Config → Daily Sync Maintenance
  • Settings tab → All settings → Daily Sync Maintenance

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
DAILY_MAINTENANCE_SCRIPTS a list, one entry per line in this section daily_sync_maintenance.sh runs media share sync first, then iterates DAILY_MAINTENANCE_SCRIPTS for all jobs. Schedule: 0 1 * * * (1am daily)
DAILY_CONTAINER_UPDATES a switch in this section Pull latest images for DAILY_RESTART_CONTAINERS before the daily restart. Containers keep running during pull — no extra downtime. Set false to skip updates while still running the daily restart.

Docker Watchdog

Reachable from:

  • Scheduler tab → Docker Watchdog → Config → Docker Watchdog
  • Watchdog tab → Watchdog settings → Docker Watchdog
  • Docker tab → Docker settings → Docker Watchdog
  • Settings tab → All settings → Docker Watchdog

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
WATCHDOG_STATE_FILE a text box in this section Strike state file — /tmp resets on reboot (correct — no stale strikes after reboot)
SOFT_CPU_THRESHOLD a number box in this section warn at this % of total system CPU
HARD_CPU_THRESHOLD a number box in this section strike at this % of total system CPU
CPU_FAIL_LIMIT a number box, in consecutive in this section consecutive hard CPU strikes before container restart
SOFT_MEM_THRESHOLD a number box in this section Memory soft threshold — warn when container reaches this % of its hard limit
RESP_FAIL_LIMIT a number box, in consecutive in this section consecutive failed checks before restart
CURL_TIMEOUT a number box, in seconds in this section seconds per check before timeout
WATCHDOG_SCAN_ALL a switch in this section false = only WATCHDOG_CONTAINERS + required containers
WATCHDOG_RESTART_UNHEALTHY a switch in this section Individual Tier 2 check toggles
WATCHDOG_RESTART_DEAD a switch in this section
WATCHDOG_RESTART_CRASHED a switch in this section
WATCHDOG_NOTIFY_OOM a switch in this section
WATCHDOG_NOTIFY_CRASHLOOP a switch in this section
WATCHDOG_CRASH_LIMIT a number box in this section RestartCount above this = critical crash loop
WATCHDOG_REQUIRED_STRIKE_LIMIT a number box in this section Required-container strikes — consecutive down-checks before docker_watchdog.sh attempts a restart
WATCHDOG_STARTUP_GRACE a number box, in seconds in this section seconds after boot before watchdog acts on failures
WATCHDOG_CONTAINER_RESTART_LIMIT a number box in this section Restart loop protection — prevents watchdog from endlessly restarting a broken container
WATCHDOG_CONTAINER_RESTART_WINDOW a number box in this section rolling window in hours
WATCHDOG_CONTAINER_RESTART_LOG a text box in this section
WATCHDOG_BATCH_NOTIFY a switch in this section Notification batching — one summary per cycle instead of one ping per event
WATCHDOG_DAEMON_TIMEOUT a number box, in seconds in this section seconds — timeout for all docker commands
WATCHDOG_DAEMON_STRIKE_LIMIT a number box, in consecutive in this section consecutive failed checks before restart attempt
WATCHDOG_DAEMON_RESTART_WAIT a number box, in seconds in this section seconds to wait after restart before verifying
WATCHDOG_CHECK_APPDATA a switch in this section HOST*_WATCHDOG_APPDATA_SIZES (in host*.conf) suppresses growth warnings for a container until its dir exceeds the configured ceiling. Only needed when a container legitimately has large stable data and you want to guarantee it never triggers a false alarm.
WATCHDOG_APPDATA_PATHS a list, one entry per line in this section
WATCHDOG_APPDATA_GROWTH_GB a number box in this section flag containers growing more than this per cycle
WATCHDOG_APPDATA_LOG_MAX_GB a number box in this section flag *.log files exceeding this size (absolute)
WATCHDOG_APPDATA_TRUNCATE_LOGS a switch in this section set true to auto-truncate oversized *.log files on action cycle
WATCHDOG_APPDATA_STRIKE_LIMIT a number box in this section cycles before action fires (matches existing watchdog pattern)
WATCHDOG_APPDATA_GROWTH_FILE a text box in this section
STORAGE_WATCHDOG_STATE_FILE a text box in this section

Download Orphan Cleaner (arr_download_orphan_cleaner.sh)

Reachable from:

  • Scheduler tab → Arr Download Orphan Cleaner → Config → Download Orphan Cleaner (arr_download_orphan_cleaner.sh)
  • Settings tab → All settings → Download Orphan Cleaner (arr_download_orphan_cleaner.sh)

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
DOWNLOAD_ORPHAN_CLEANER_ENABLED a switch in this section Weekly sweep of the SABnzbd Completed folders Sonarr/Radarr import from — deletes junk and parse-verified already-in-library leftovers the arr queue no longer references, triggers import scans for anything the library is actually missing. Built 2026-07-26 after 755G of orphaned completed downloads (accumulating since 2022) filled HOST1's cache pool to 89%. Per-host dirs: HOST*_SONARR_DOWNLOAD_D…
DOWNLOAD_ORPHAN_AGE a number box, in days in this section days — entries younger than this may be mid-import, never touched
DOWNLOAD_ORPHAN_MIN_VIDEO_MB a number box in this section no video file above this = junk (par2 debris, samples, dead archives)
DOWNLOAD_ORPHAN_MAX_DELETE_GB a number box in this section abort delete pass over this — a partial queue fetch would classify

Download Webhook

Route: Settings tab → All settings → Download Webhook

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
DOWNLOAD_WEBHOOK_ENABLED a switch in this section Immediate push to remote nodes on every Sonarr/Radarr/Lidarr Download event. Prevents remotes from searching for content that is already on disk locally.

Downloaders Reset

Reachable from:

  • Scheduler tab → Downloaders Reset → Config → Downloaders Reset
  • Settings tab → All settings → Downloaders Reset

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
DOWNLOADER_RETENTION_DAYS a number box, in days in this section days — purge history older than this
QBIT_FAILSAFE_MIN_DAYS a number box, in days in this section days — minimum age before failsafe deletion
QBIT_FAILSAFE_MIN_RATIO a number box in this section 0 = age only, no ratio requirement

Emby Session Report

Reachable from:

  • Scheduler tab → Emby Session Report → Config → Emby Session Report
  • Media Stack tab → Media settings → Emby Session Report
  • Settings tab → All settings → Emby Session Report

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
EMBY_REPORT_DAYS a number box, in days in this section days to include in the report period
EMBY_REPORT_TOP_N a number box in this section number of top content items to show

FALLBACK

Reachable from:

  • Fallback tab → Fallback settings → FALLBACK
  • Settings tab → All settings → FALLBACK

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
EXTERNAL_IP a text box in this section
FALLBACK_CHECK_INTERVAL a number box, in seconds Fallback tab seconds between fallback state checks
FALLBACK_HANDBACK_STRIKES a number box, in consecutive Fallback tab consecutive healthy checks before initiating handback (3×30s = 90s)
FALLBACK_STATE_FILE a text box in this section
FALLBACK_ENABLED a switch Fallback tab HOST2 back online
FALLBACK_PARTNERSHIP_SUSPEND_AFTER a number box, in minutes Fallback tab minutes without active partnership before suspending

Failover Test

Reachable from:

  • Scheduler tab → Fallback Test → Config → Failover Test
  • Settings tab → All settings → Failover Test

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
FALLBACK_TEST_BLOCK_WAIT a number box, in seconds in this section seconds to wait after blocking connectivity
FALLBACK_TEST_HANDBACK_WAIT a number box, in seconds in this section seconds to wait before initiating handback

Health Digest

Reachable from:

  • Scheduler tab → Weekly Health Digest → Config → Health Digest
  • Settings tab → All settings → Health Digest

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
DIGEST_PROFILE a dropdown (always, smart, weekly) in this section always | smart | weekly
DIGEST_DAY a text box in this section
DIGEST_SMART_ON_WATCHDOG a switch in this section send if any watchdog strikes are active
DIGEST_SMART_ON_FALLBACK a switch in this section send if fallback state is not NORMAL
DIGEST_SMART_ON_CERT_WARN a switch in this section send if any cert is under CERT_WARN_DAYS
DIGEST_SMART_ON_BANDWIDTH a switch in this section send if any transfer exceeded BANDWIDTH_WARN_GB

Intermediate Sync Maintenance

Reachable from:

  • Scheduler tab → Intermediate Sync Maintenance → Config → Intermediate Sync Maintenance
  • Settings tab → All settings → Intermediate Sync Maintenance

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
INTERMEDIATE_MAINTENANCE_SCRIPTS a list, one entry per line in this section

LOGGING

Route: Settings tab → All settings → LOGGING

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
ENABLE_LOGGING a switch Settings tab Controls verbose [LOG] output across all scripts. true = show detailed [LOG] lines — useful for debugging or first-time setup false = show only user-facing output — cleaner for scheduled runs

Media Cleaner

Reachable from:

  • Scheduler tab → Media Cleaner → Config → Media Cleaner
  • Media Stack tab → Media settings → Media Cleaner
  • Settings tab → All settings → Media Cleaner

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
ANIME_FILE_PATTERNS a list, one entry per line in this section
MEDIA_FILE_PATTERNS a list, one entry per line in this section

Media Permissions

Reachable from:

  • Scheduler tab → Media Shares Permissions → Config → Media Permissions
  • Scheduler tab → Bulk Permissions Repair → Config → Media Permissions
  • Scheduler tab → Trailer Folder Migration → Config → Media Permissions
  • Media Stack tab → Media settings → Media Permissions
  • Settings tab → All settings → Media Permissions

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
PERMISSIONS_DIR_MODE a text box in this section directories — traverse + list, no world-write
PERMISSIONS_FILE_MODE a text box in this section files — group read/write, no execute
PERMISSIONS_OWNER a text box in this section

Monthly Maintenance

Reachable from:

  • Scheduler tab → Monthly Maintenance → Config → Monthly Maintenance
  • Settings tab → All settings → Monthly Maintenance

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
MONTHLY_MAINTENANCE_SCRIPTS a list, one entry per line in this section monthly_maintenance.sh fires only when BOTH gates pass: 1. Server uptime >= MONTHLY_UPTIME_THRESHOLD_DAYS days 2. Last run was >= MONTHLY_RUN_INTERVAL_DAYS days ago (or never run) Cron: 0 0 15 * * (15th of the month, midnight — script self-gates, so a spare run is safe) NOT in WATCHDOG_ORCHESTRATOR_SCRIPTS — has its own cron entry. Add scripts that require a long-stable settled system — scrubs,…
MONTHLY_UPTIME_THRESHOLD_DAYS a number box in this section minimum uptime in days before maintenance fires
MONTHLY_RUN_INTERVAL_DAYS a number box in this section minimum days since last run before running again
MONTHLY_LAST_RUN_FILE a text box in this section

Mover

Reachable from:

  • Scheduler tab → Mover Stop → Config → Mover
  • Settings tab → All settings → Mover

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
MOVER_STOP_TIMEOUT a number box, in seconds in this section Seconds to wait before mover_stop.sh sends SIGTERM to the mover process. Gives mover time to finish current file transfer before being interrupted.

NOTIFICATIONS

Route: Settings tab → All settings → NOTIFICATIONS

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
NOTIFY_UNRAID a switch Settings tab unRAID native notification system — integrates with the bell icon in the WebGUI. normal = job completed successfully / warning = something failed or needs attention
WEBHOOK_PORT a number box in this section Upgrade webhook — standalone PHP listener that receives OnUpgrade events from Sonarr/Radarr/Lidarr and immediately pushes the upgraded file to all mesh nodes. Bypasses Unraid nginx auth — the secret in the URL is the only gate. Run Tools/webhook_setup.sh once to register the connection in each arr. WEBHOOK_PORT 0 disables the listener.
WEBHOOK_SECRET a masked box with a Show button in this section auto-generated on first start if empty

Network Watchdog

Reachable from:

  • Scheduler tab → Network Watchdog → Config → Network Watchdog
  • Watchdog tab → Watchdog settings → Network Watchdog
  • Settings tab → All settings → Network Watchdog

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
NETWORK_WATCHDOG_ENABLED a switch in this section Services-layer connectivity — internet reachability, DDNS sync, Tailscale, NPM proxy. Host-specific values (domain, container, NPM URL) live in host*.conf.
NETWORK_WATCHDOG_INTERNET_URL a text box in this section
NETWORK_WATCHDOG_INTERNET_TIMEOUT a number box in this section
NETWORK_WATCHDOG_CHECK_TAILSCALE a switch in this section
NETWORK_WATCHDOG_NPM_TIMEOUT a number box in this section
NETWORK_WATCHDOG_NPM_STRIKE_LIMIT a number box in this section
NETWORK_WATCHDOG_NPM_STATE_FILE a text box in this section

OOM Bypass Settings

Reachable from:

  • Scheduler tab → Stability Watchdog → Config → OOM Bypass Settings
  • Settings tab → All settings → OOM Bypass Settings

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
SYS_WATCHDOG_OOM_LIMIT a number box in this section OOM kills in one cycle to trigger bypass

PARTNERSHIP

Reachable from:

  • Settings tab → All settings → PARTNERSHIP
  • Partnership tab → Array Settings → PARTNERSHIP

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
PARTNERSHIP_ENABLED a switch Fallback tab
PARTNERSHIP_OWNER_HOST a text box in this section "HOST1" or "HOST2" — flips on --transfer
PARTNERSHIP_GRACE_HOURS a number box, in hours in this section hours after offboard before Tailscale removal
PARTNERSHIP_OFFLINE_THRESHOLD a number box, in days in this section days either server unreachable before auto-offboard
PARTNERSHIP_BLOCKLIST_FILE a text box in this section Partnership and setup state files — all in STATE_DIR per the project requirement. Scripts use these variables; do not hardcode /boot/config paths in scripts.
VARAVERK_SETUP_FILE a text box in this section
PARTNERSHIP_REMOVE_TAILSCALE a switch in this section remove mirror from Tailscale tailnet on offboard
TAILSCALE_API_KEY a masked box with a Show button in this section tskey-api-...
TAILSCALE_TAILNET a text box in this section your tailnet name (e.g. yourname.github)
PARTNERSHIP_TRANSFER_CONFIRM a text box in this section Transfer safety.
PARTNERSHIP_TRANSFER_STRIKES a number box, in consecutive in this section consecutive health checks required
PARTNERSHIP_TRANSFER_MAX_ATTEMPTS a number box in this section max health check attempts before giving up
PARTNERSHIP_ONBOARD_VERIFY a switch in this section verify WebUI reachable after reconfiguration
PARTNERSHIP_ONBOARD_NOTIFY a switch in this section notify both servers on completion
PARTNERSHIP_SYNC_INTERVAL a number box, in minutes in this section minutes — informational, actual schedule in cron
SSH_MAX_STRIKES a number box, in consecutive in this section consecutive SSH auth failures before critical notify
SSH_STRIKE_RESET_HRS a number box, in hours in this section hours since last failure before strike counter resets
PARTNERSHIP_FOLDERVIEW3 a switch in this section create/remove FolderView3 folder on onboard/offboard
PARTNERSHIP_FOLDERVIEW3_URL a text box in this section CA plugin URL — leave empty to skip auto-install

PCIe AER Quiet

Route: Settings tab → All settings → PCIe AER Quiet

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
PCIE_QUIET_ENABLED a switch in this section Devices are listed per host in host*.conf as HOST*_PCIE_QUIET_DEVICES. Off by default — turn on only after filling in that list for this host.

PER-HOST CONTAINER LISTS

Route: Settings tab → All settings → PER-HOST CONTAINER LISTS

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
RW_ENABLED a switch in this section
RW_STATE_FILE a text box in this section

PHP-FPM

Reachable from:

  • Scheduler tab → Php Fpm Max Children → Config → PHP-FPM
  • Settings tab → All settings → PHP-FPM

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
PHP_CONF a text box in this section Higher max_children allows more concurrent PHP requests to the unRAID WebGUI. Default is very low — increasing it prevents WebGUI slowdowns under load. 250 is safe for servers with 32GB+ RAM.
PHP_MAX_CHILDREN a number box in this section

Play State Sync

Reachable from:

  • Scheduler tab → Play State Sync → Config → Play State Sync
  • Media Stack tab → Media settings → Play State Sync
  • Settings tab → All settings → Play State Sync

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
PLAY_SYNC_ENABLED a switch in this section
PLAY_SYNC_REMOTE a switch in this section sync across hosts via Tailscale
PLAY_SYNC_TYPES a text box in this section Audio excluded — music library too large; favorites handled separately
PLAY_SYNC_FAV_TYPES a text box in this section union sync — never unmarks; Audio tracks future
PLAY_SYNC_PROBE a switch in this section hash fetched state, skip per-item comparison when nothing changed
PLAY_SYNC_PROBE_MAX_AGE_HOURS a number box in this section force a full comparison when the fingerprint is older than this

Play State Sync — Handback

Reachable from:

  • Scheduler tab → Play State Sync → Config → Play State Sync — Handback
  • Scheduler tab → Fallback → Config → Play State Sync — Handback
  • Media Stack tab → Media settings → Play State Sync — Handback
  • Settings tab → All settings → Play State Sync — Handback

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
PLAY_SYNC_HANDBACK_RETRIES a number box, in attempts in this section attempts before giving up and proceeding to DNS cutover
PLAY_SYNC_HANDBACK_RETRY_DELAY a number box, in seconds in this section seconds between retry attempts

Pressure Thresholds

Reachable from:

  • Scheduler tab → Resource Watchdog → Config → Pressure Thresholds
  • Settings tab → All settings → Pressure Thresholds

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
RW_RAM_SOFT_GB a number box in this section throttle start — reduce background load
RW_RAM_MEDIUM_GB a number box in this section pause background containers
RW_RAM_HARD_GB a number box in this section stop optional containers (was SYS_WATCHDOG_MEM_SHUTDOWN_GB)
RW_RAM_RECOVER_GB a number box in this section RAM must reach this before restoring hard-stopped containers
RW_LOAD_SOFT_MULTIPLIER a text box in this section soft pressure: 2× cores sustained
RW_LOAD_MEDIUM_MULTIPLIER a text box in this section medium pressure: 3× cores sustained
RW_RECOVER_CYCLES a number box, in consecutive in this section Consecutive runs at lower pressure before de-escalating

RAM Reboot Threshold

Reachable from:

  • Scheduler tab → Stability Watchdog → Config → RAM Reboot Threshold
  • Settings tab → All settings → RAM Reboot Threshold

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
SYS_WATCHDOG_MEM_GB a number box in this section strike system → reboot

Reboot

Reachable from:

  • Scheduler tab → Server Reboot → Config → Reboot
  • Settings tab → All settings → Reboot

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
REBOOT_SLEEP a number box, in seconds in this section Seconds of warning broadcast to logged-in users before server_reboot.sh reboots. Gives users time to save work — 300s = 5 minutes.
REBOOT_VM_WAIT a number box, in seconds in this section Seconds to wait for graceful VM shutdown (ACPI signal via virsh) before libvirt stops it anyway — reboot takes priority.

Remote Docker Daemon

Reachable from:

  • Docker tab → Docker settings → Remote Docker Daemon
  • Settings tab → All settings → Remote Docker Daemon

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
REMOTE_DOCKER_STRIKE_LIMIT a number box, in consecutive in this section consecutive failures before critical notify

Remote Health Checks

Route: Settings tab → All settings → Remote Health Checks

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
ROOTFS_WARN a number box in this section Pre-flight — aborts if remote rootfs (/) usage is at or above this percentage. When remote array is down, rsync writes land on rootfs and fill it rapidly.

Rsync Defaults

Reachable from:

  • Scheduler tab → Rsync → Config → Rsync Defaults
  • Rsync tab → Rsync settings → Rsync Defaults
  • Settings tab → All settings → Rsync Defaults

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
BW_LIMIT a number box, in kb Rsync tab KB/s — 12500 ≈ 100Mbit
RETRY_COUNT a number box Rsync tab retry attempts before giving up
SLEEP a number box, in seconds Rsync tab seconds between retry attempts
RSYNC_MAX_RUNTIME_HOURS a number box in this section cap per transfer attempt — pauses and resumes next scheduled run
CRITICAL_CONTAINER_NAMES a list, one entry per line in this section
DELAYED_CONTAINERS a list, one entry per line in this section
CONTAINER_DELAY a number box, in seconds in this section seconds before starting delayed containers
RESTART_VERIFY_WAIT a number box, in seconds in this section seconds to wait after restart before checking container is running
EXCLUDE_DIRS a list, one entry per line in this section
DEFAULT_RSYNC_OPTS a list, one entry per line in this section --inplace writes directly to destination — delta against existing file, better for large media --partial keep partial file on interrupted transfer so next run resumes, not re-transfers --timeout kill stalled transfers instead of hanging indefinitely --numeric-ids use UIDs/GIDs numerically — prevents ownership mismatches between servers --delete intentionally omitted — the per-arr cleanups (lida…

Rsync Enable/Disable

Reachable from:

  • Scheduler tab → Rsync → Config → Rsync Enable/Disable
  • Rsync tab → Rsync settings → Rsync Enable/Disable
  • Settings tab → All settings → Rsync Enable/Disable

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
RSYNC_ENABLED a switch in this section Tier 1 — global gate, overrides everything below
CRITICAL_RSYNC_ENABLED a switch in this section Tier 2 — critical_sync_maintenance.sh rsync section
INTERMEDIATE_RSYNC_ENABLED a switch in this section Tier 2 — intermediate_sync_maintenance.sh rsync section
DAILY_RSYNC_ENABLED a switch in this section Tier 2 — daily_sync_maintenance.sh rsync section
WEEKLY_RSYNC_ENABLED a switch in this section Tier 2 — weekly_sync_maintenance.sh rsync section
MONTHLY_RSYNC_ENABLED a switch in this section Tier 2 — monthly_maintenance.sh rsync section
FALLBACK_RSYNC_ENABLED a switch Fallback tab Tier 2 — fallback.sh writeback jobs on handback

Rsync Merge Auto-Promote

Reachable from:

  • Scheduler tab → Rsync → Config → Rsync Merge Auto-Promote
  • Rsync tab → Rsync settings → Rsync Merge Auto-Promote
  • Settings tab → All settings → Rsync Merge Auto-Promote

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
RSYNC_MERGE_ENABLED a switch in this section When enabled, rsync.sh pre-scans the remote before syncing and promotes to merge mode (pull-then-push) if ≥75% of remote top-level entries exist locally. Named profiles are always excluded from auto-promote regardless of this toggle.

Rsync Profile System

Reachable from:

  • Scheduler tab → Rsync → Config → Rsync Profile System
  • Rsync tab → Rsync settings → Rsync Profile System
  • Settings tab → All settings → Rsync Profile System

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
PROFILE_RSYNC_OPTS a list, one entry per line in this section
PROFILE_BW_LIMIT a list, one entry per line in this section Per-profile bandwidth limits in KB/s
PROFILE_SLEEP a list, one entry per line in this section Seconds between retry attempts — only non-default profiles listed (default SLEEP applies otherwise)
PROFILE_CRITICAL_CONTAINER_NAMES a list, one entry per line in this section Containers stopped on BOTH LOCAL and REMOTE before rsync. Local stops first — flushes databases cleanly. Remote stops next — prevents writes. Only running containers get restarted — stopped containers stay stopped. SPACE-SEPARATED STRINGS — converted to array at runtime
PROFILE_DELAYED_CONTAINERS a list, one entry per line in this section Containers needing a delay after rsync before starting. SPACE-SEPARATED STRINGS — converted to array at runtime
PROFILE_CONTAINER_DELAY a list, one entry per line in this section Seconds before starting delayed containers — only non-default profiles listed (default CONTAINER_DELAY applies otherwise)
PROFILE_EXCLUDE_DIRS a list, one entry per line in this section Directories excluded from rsync per profile. SPACE-SEPARATED STRINGS — converted to array at runtime
PROFILE_REMOTE_RESTART_CONTAINERS a list, one entry per line in this section Remote restart after dirty sync — restart these on remote IF they were running before sync. Same logic as stop/start — was stopped = stays stopped, was running = gets restarted. Used by dirty sync profiles (critical-fallback) so remote picks up changes. SPACE-SEPARATED STRINGS — converted to array at runtime

SABnzbd Throttle

Reachable from:

  • Scheduler tab → Resource Watchdog → Config → SABnzbd Throttle
  • Settings tab → All settings → SABnzbd Throttle

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
RW_SABNZBD_ENABLED a switch in this section Speed values: "50M" = 50 MB/s, "0" = unlimited
RW_SABNZBD_SPEED_SOFT a text box in this section
RW_SABNZBD_SPEED_MEDIUM a text box in this section

SMART Health

Reachable from:

  • Scheduler tab → Smart Health → Config → SMART Health
  • Settings tab → All settings → SMART Health

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
SMART_TEMP_WARN a number box in this section fallback — Celsius warn threshold
SMART_TEMP_CRIT a number box in this section fallback — Celsius critical threshold

Strike and Reboot Loop Settings

Reachable from:

  • Scheduler tab → Stability Watchdog → Config → Strike and Reboot Loop Settings
  • Settings tab → All settings → Strike and Reboot Loop Settings

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
SYS_WATCHDOG_STRIKE_LIMIT a number box, in consecutive in this section consecutive failures before reboot trigger
SYS_WATCHDOG_REBOOT_LIMIT a number box in this section Reboot loop protection — if system keeps rebooting something is seriously wrong. After REBOOT_LIMIT reboots in REBOOT_WINDOW_HRS → shutdown instead of reboot.
SYS_WATCHDOG_REBOOT_WINDOW_HRS a number box in this section

Sunday Morning Coffee Report

Reachable from:

  • Scheduler tab → Sunday Morning Coffee Report → Config → Sunday Morning Coffee Report
  • Settings tab → All settings → Sunday Morning Coffee Report

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
COFFEE_REPORT_SCRIPTS a list, one entry per line in this section Orchestrator that runs all Sunday monitor scripts in sequence. Schedule: 0 7 * * 0 (Sunday 7am — after weekly_sync_maintenance.sh finishes at ~3am) Each script runs independently and notifies on its own findings.

Syslog Filter

Reachable from:

  • Scheduler tab → Docker Syslog Filter → Config → Syslog Filter
  • Settings tab → All settings → Syslog Filter

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
FILTER_FILE a text box in this section Path for the rsyslog filter file that suppresses Docker veth interface noise. Docker creates a new veth interface for each container — generates hundreds of log lines per hour that have no diagnostic value. Filter removes them at source.

System Tuning Monitor

Reachable from:

  • Scheduler tab → System Tuning Monitor → Config → System Tuning Monitor
  • Settings tab → All settings → System Tuning Monitor

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
INOTIFY_WARN_PCT a number box in this section warn if inotify instances exceed this % of limit
PHP_FPM_WARN_PCT a number box in this section warn if php-fpm workers exceed this % of max_children
TUNING_MONITOR_LOG a text box in this section
TUNING_LOG_RETENTION a number box, in days in this section days before old entries are purged

System Watchdog

Reachable from:

  • Scheduler tab → Watchdog Orchestrator → Config → System Watchdog
  • Watchdog tab → Watchdog settings → System Watchdog
  • Settings tab → All settings → System Watchdog

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
SYSTEM_WATCHDOG_SCRIPTS a list, one entry per line in this section system_watchdog.sh runs SYSTEM_WATCHDOG_SCRIPTS sequentially each cycle. Called by watchdog_orchestrator.sh — not scheduled directly.

Thresholds

Route: Settings tab → All settings → Thresholds

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
SYS_WATCHDOG_ROOTFS_PCT a number box in this section standard strike threshold
SYS_WATCHDOG_ROOTFS_CRITICAL_PCT a number box in this section bypass strikes — truly full, writes failing
SYS_WATCHDOG_LOG_PCT a number box in this section /var/log usage — log spam indicates something broken
SYS_WATCHDOG_TMP_PCT a number box in this section warn + attempt clear
SYS_WATCHDOG_TMP_CRITICAL_PCT a number box in this section bypass strikes if clear failed
SYS_WATCHDOG_ARC_PINNED_PCT a number box in this section ZFS ARC pinned percentage — ARC not releasing after reclaim = memory stuck
SYS_WATCHDOG_ARC_RELEASE_PCT a number box in this section
SYS_WATCHDOG_LOAD_MULTIPLIER a number box in this section Load average multiplier — threshold = MULTIPLIER × CPU core count MULTIPLIER=3 on 16-core = load of 48 before triggering
SYS_WATCHDOG_ZOMBIE_LIMIT a number box in this section Zombie process count — large numbers = serious process management failure
SYS_WATCHDOG_CPU_TEMP_MAX a number box in this section CPU temperature — sustained high temp causes throttling or kernel panic
SYS_WATCHDOG_FD_CRITICAL_PCT a number box in this section bypass strikes — critical tier
SYS_WATCHDOG_RUNAWAY_CPU_PCT a number box in this section % single process must sustain
SYS_WATCHDOG_RUNAWAY_STRIKES a number box, in consecutive in this section consecutive cycles before warning
SYS_WATCHDOG_MDSTAT_ERROR_LIMIT a number box in this section new errors in one cycle before acting

Transcode Management

Reachable from:

  • Scheduler tab → Transcode Management → Config → Transcode Management
  • Settings tab → All settings → Transcode Management

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
TRANSCODE_MANAGEMENT_SCRIPTS a list, one entry per line in this section transcode_management.sh runs TRANSCODE_MANAGEMENT_SCRIPTS in order each cron cycle. Schedule: */7 * * * * (every 7 minutes) Order matters — cleanup first so the manager measures real current ramdisk usage, not usage inflated by stale segment files from ended sessions.

Transcode Manager

Reachable from:

  • Scheduler tab → Transcode Management → Config → Transcode Manager
  • Scheduler tab → Transcode Manager → Config → Transcode Manager
  • Settings tab → All settings → Transcode Manager

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
RAMDISK_PATH a text box in this section tmpfs mount point — created at array start by ramdisk_setup.sh. Must exist before Emby starts so the symlink resolves correctly.
TRANSCODE_LINK a text box in this section Symlink that Emby points at — this path NEVER changes regardless of ramdisk/SSD state. Emby resolves the symlink once per session at start — symlink flips are transparent. Must match the container path configured in Emby's Extra Parameters.
RAMDISK_SSD_MIN_GB a number box in this section Minimum free GB on SSD before allowing flip from ramdisk to SSD.
TRANSCODE_MAX_AGE a number box, in minutes in this section minutes — HLS segment age before cleanup eligibility
TRANSCODE_ORPHAN_AGE a number box, in minutes in this section minutes — files with no matching active session
TRANSCODE_FLIP_WARN a number box in this section notify if symlink flips this many times in one hour
TRANSCODE_OWNER a text box in this section
TRANSCODE_CHMOD a text box in this section
TRANSCODE_MANAGER_MODE a text box in this section Operating mode — controls symlink direction behaviour. smart — auto-flips between ramdisk and SSD based on thresholds (default) ramdisk — always uses ramdisk, warns if RAMDISK_WARN_GB exceeded but holds ssd — always uses SSD, never flips to ramdisk
TRANSCODE_STATE_FILE a text box in this section Daily statistics log — read by weekly_health_digest.sh for transcode summary.
TRANSCODE_DAILY_LOG a text box in this section
TRANSCODE_LOG_RETENTION a number box, in days in this section days before old entries purged
TRANSCODE_CHECK_EMBY a switch in this section

Version Parity

Route: Settings tab → All settings → Version Parity

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
UNRAID_VERSION_MISMATCH_ACTION a dropdown (warn, abort) in this section Controls behaviour when local and remote unRAID versions differ. Major version mismatch always aborts regardless of this setting. "warn" — log warning and continue (safe for minor/patch differences) "abort" — refuse to continue (strict — ensures both sides always match)

Watchdog Orchestrator

Reachable from:

  • Scheduler tab → Watchdog Orchestrator → Config → Watchdog Orchestrator
  • Watchdog tab → Watchdog settings → Watchdog Orchestrator
  • Settings tab → All settings → Watchdog Orchestrator

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
WATCHDOG_ORCHESTRATOR_SCRIPTS a list, one entry per line in this section watchdog_orchestrator.sh runs WATCHDOG_ORCHESTRATOR_SCRIPTS in order each cron cycle. Schedule: */15 * * * * (every 15 minutes) NOT in ARRAY_START_SCRIPTS — has its own cron entry. Order matters — resource first (frees pressure), docker second (heals with freed resources), system third (storage + webgui component health), stability last (last line of defense).

WebGUI Watchdog

Reachable from:

  • Scheduler tab → Webgui Watchdog → Config → WebGUI Watchdog
  • Watchdog tab → Watchdog settings → WebGUI Watchdog
  • Settings tab → All settings → WebGUI Watchdog

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
WEBGUI_URL a text box in this section Monitors unRAID WebGUI responsiveness — escalates through nginx restart → emhttp restart. Separate from docker_watchdog — this monitors the unRAID UI itself, not containers.
WEBGUI_TIMEOUT a number box, in seconds in this section seconds before curl gives up on WebGUI check
WEBGUI_NGINX_WAIT a number box, in seconds in this section seconds after nginx restart before rechecking
WEBGUI_PHP_WAIT a number box, in seconds in this section seconds after php-fpm restart before rechecking
WEBGUI_EMHTTP_WAIT a number box, in seconds in this section seconds after emhttp restart before rechecking

Weekly Sync Maintenance

Reachable from:

  • Scheduler tab → Weekly Sync Maintenance → Config → Weekly Sync Maintenance
  • Settings tab → All settings → Weekly Sync Maintenance

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
WEEKLY_MAINTENANCE_SCRIPTS a list, one entry per line in this section weekly_sync_maintenance.sh stops containers both sides → pulls updates → syncs WEEKLY_SYNC_SHARES → restarts → then iterates WEEKLY_MAINTENANCE_SCRIPTS. Schedule: 30 2 * * 0 (Sunday 2:30am)
WEEKLY_CONTAINER_UPDATES a switch in this section Pull updates for WEEKLY_RESTART_CONTAINERS before docker_weekly_restart.sh runs. Set false to skip — docker_weekly_restart.sh still runs regardless.
MONTHLY_REMAINING_UPDATES a switch in this section Pull updates for all running containers NOT in daily/weekly managed lists. Ensures every deployed container receives at least one image pull per month. Set false to skip.
DOCKER_UPDATE_REBUILT_DAILY_FILE a text box in this section docker_update.sh rebuilds (stop+recreate onto new image) any container whose image changed, in every mode. For daily/weekly, that rebuild is immediately followed by the restart script's own unconditional pass — a container that just got rebuilt would be stopped and started again right after for no reason. docker_update.sh records which containers it rebuilt to these files; docker_daily_restart.…
DOCKER_UPDATE_REBUILT_WEEKLY_FILE a text box in this section
DOCKER_UPDATE_REBUILT_STALE_HOURS a number box in this section
WEEKLY_SYNC_UPDATES a switch in this section pull container updates locally during weekly window
WEEKLY_SYNC_UPDATES_REMOTE a switch in this section pull container updates on remote via SSH

ZFS Memory Snapshot

Reachable from:

  • Scheduler tab → Zfs Memory Snapshot → Config → ZFS Memory Snapshot
  • Settings tab → All settings → ZFS Memory Snapshot

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
ZFS_REPORT_LOG a text box in this section Weekly ZFS pool health and memory diagnostic report — informational only.
ZFS_REPORT_ARC_WARN_PCT a number box in this section warn if ARC using more than this % of its max
ZFS_REPORT_ARC_FREE_WARN_GB a number box in this section warn if ARC headroom (max - current) drops below this GB
ZFS_REPORT_AVAIL_WARN_GB a number box in this section warn if less than this GB available on ZFS pool
ZFS_REPORT_DOCKER_TOP a number box in this section how many top Docker containers to show by memory

inotify Tuning

Reachable from:

  • Scheduler tab → Inotify Tuning → Config → inotify Tuning
  • Settings tab → All settings → inotify Tuning

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
INOTIFY_MAX_INSTANCES a number box in this section default: 128 — max inotify instances per user
INOTIFY_MAX_WATCHES a number box in this section default: 8192 — SHARED budget across ALL users/containers
INOTIFY_MAX_QUEUED_EVENTS a number box in this section default: 16384 — max events queued before dropping

qBittorrent Throttle

Reachable from:

  • Scheduler tab → Resource Watchdog → Config → qBittorrent Throttle
  • Settings tab → All settings → qBittorrent Throttle

Saved into master.conf, which does not need to be opened by hand.

Setting Control Where What it does
RW_QBIT_ENABLED a switch in this section KB/s — 0 = unlimited
RW_QBIT_DL_SOFT a number box in this section 50 MB/s
RW_QBIT_DL_MEDIUM a number box in this section 10 MB/s

Settings deliberately kept out of the UI

These have no control on purpose. They hold the machine's identity and the roots everything else is derived from, and a text box beside a Save button is the wrong shape for a value that decides whether the server recognises itself on next boot.

If one is asked about, give the reason and say it is edited in the conf file directly. Do not describe a route — there is none, and that is the point.

  • Cache Roots (master.conf) — VV_CACHE_ROOT, VV_CACHE_DIR, CONF_RAM_CACHE_DIR, ARR_CACHE_DIR, AI_TOKEN_CACHE_DIR, AI_JOB_DIR, DOCKER_JOB_DIR
    The tmpfs half. These must never point at flash, and nothing in a form conveys that.
  • GIT / REPO (master.conf) — GITEA_CONTAINER, GITEA_REPO_PATH, GITEA_DOMAIN, TARGET_DIR, GITEA_SSH_KEY, SSH_PORT, GITEA_HTTP_PORT
    Where the plugin updates itself from. Wrong here means the next pull is the last one.
  • HOST IDENTITIES (master.conf) — HOST1, HOST2
    HOST1 and HOST2 are what detect_hosts() matches the local hostname against. Editing one here would change which machine this believes it is.
  • SHARED HOST CONFIGURATION (master.conf) — DATA_DIR, DB_DIR, STATE_DIR, AI_DATA_DIR, CACHE_BACKUP_DIR, LOG_ARCHIVE_DIR, BACKUP_DIR, CONF_BACKUP_DIR, PERSISTENT_CONF_CACHE, ARR_CACHE_BACKUP_DIR
    DATA_DIR is the single on-disk root — move it and the whole tree follows, including the state the running scripts are holding open.
  • State Files (master.conf) — SYS_WATCHDOG_STATE_FILE, DOCKER_WATCHDOG_FAILED_FILE, DOCKER_WATCHDOG_INTENTIONAL_FILE, SYS_WATCHDOG_REBOOT_LOG, SYS_WATCHDOG_OOM_FILE
    Paths to live state databases, derived from STATE_DIR. Repointing one orphans the state a watchdog is mid-way through writing.