From 1bc76f84906ee5eb10a903e7e6767ec64e9f53c0 Mon Sep 17 00:00:00 2001 From: Gmer4Lfe Date: Fri, 12 Jun 2026 22:09:54 -0400 Subject: [PATCH] Align host template to unified section structure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Section order now matches master.conf: IDENTITY → PARTNERSHIP → RSYNC → FALLBACK → DOCKER → MEDIA → ARR STACK → TRANSCODES → MONITORS → RESOURCE MANAGER → SYSTEM WATCHDOG. Extracted PARTNERSHIP from IDENTITY into its own top-level section. PERSONAL SHARES moved to sit directly after DAILY SYNC SHARES. NIC var moved to top of SYSTEM WATCHDOG block. --- Configurations/host.conf.template | 276 ++++++++++++++++-------------- 1 file changed, 143 insertions(+), 133 deletions(-) diff --git a/Configurations/host.conf.template b/Configurations/host.conf.template index 53bde32..8e8d4cb 100644 --- a/Configurations/host.conf.template +++ b/Configurations/host.conf.template @@ -19,23 +19,24 @@ # ── INDEX ───────────────────────────────────────────────────────────────────────────────────── # # ── IDENTITY & CONNECTIVITY ──────────────────────────────────────────────────────────────── -# IDENTITY hostname, SSH key +# IDENTITY hostname, SSH key, Unraid API key # EMBY container name, URL, API key +# JELLYFIN container name, URL, API key +# GITEA API token for SSH key registration # NOTIFICATIONS Discord webhook -# PARTNERSHIP auth containers, backup paths +# +# ── PARTNERSHIP ──────────────────────────────────────────────────────────────────────────── +# PARTNERSHIP auth containers, backup paths, emby provisioning # # ── RSYNC ────────────────────────────────────────────────────────────────────────────────── # DAILY SYNC SHARES media shares this host owns and pushes +# PERSONAL SHARES private encrypted shares for offsite backup # WEEKLY SYNC SHARES appdata shares synced weekly +# INTERMEDIATE SYNC mid-day appdata propagation # CRITICAL SYNC SHARES appdata shares synced every 30 minutes +# BACKUP VERIFY shares for checksum verification against remote # HOSTN RSYNC PROFILE host-specific appdata sync profile # -# ── DOCKER ───────────────────────────────────────────────────────────────────────────────── -# DOCKER DAILY RESTART containers restarted daily -# DOCKER WEEKLY RESTART containers restarted weekly -# DOCKER WATCHDOG memory limits, health URLs, required containers -# DOCKER NETWORK CONNECT networks and containers for array start -# # ── FALLBACK ─────────────────────────────────────────────────────────────────────────────── # DDNS DDNS containers managed by this host # INTERNET LOSS containers stopped when internet is lost @@ -43,29 +44,36 @@ # TIER DELAYS delays before each tier activates # RSYNC WRITEBACK appdata synced back on handback # +# ── DOCKER ───────────────────────────────────────────────────────────────────────────────── +# DOCKER DAILY RESTART containers restarted daily +# DOCKER WEEKLY RESTART containers restarted weekly +# DOCKER WATCHDOG memory limits, health URLs, required containers +# NETWORK WATCHDOG DDNS domain, NPM URL for connectivity checks +# DOCKER NETWORK CONNECT networks and containers for array start +# # ── MEDIA ────────────────────────────────────────────────────────────────────────────────── # MEDIA PERMISSIONS share list for permissions script # MEDIA CLEANER folder lists for media_cleaner.sh # -# ── MONITORS ─────────────────────────────────────────────────────────────────────────────── -# CERTIFICATE MONITOR domains checked for SSL expiry -# SMART HEALTH drives to skip in SMART monitoring -# ZFS REPORT pools to exclude from ZFS health report -# -# ── TRANSCODES ───────────────────────────────────────────────────────────────────────────── -# TRANSCODES ramdisk size, thresholds, SSD path, server array -# # ── ARR STACK ────────────────────────────────────────────────────────────────────────────── # DOWNLOADERS slskd, SABnzbd, qBittorrent credentials and URLs # LIDARR / SONARR / RADARR URL, API key, path map # ARR RECOVERY per-arr recovery toggles # -# ── SYSTEM WATCHDOG ──────────────────────────────────────────────────────────────────────── -# SYSTEM WATCHDOG per-host check toggles and NIC configuration +# ── TRANSCODES ───────────────────────────────────────────────────────────────────────────── +# TRANSCODES ramdisk size, thresholds, SSD path, server array +# +# ── MONITORS ─────────────────────────────────────────────────────────────────────────────── +# CERTIFICATE MONITOR domains checked for SSL expiry +# SMART HEALTH drives to skip in SMART monitoring +# ZFS REPORT pools to exclude from ZFS health report # # ── RESOURCE MANAGER ─────────────────────────────────────────────────────────────────────── # RESOURCE MANAGER containers paused/stopped under memory pressure # +# ── SYSTEM WATCHDOG ──────────────────────────────────────────────────────────────────────── +# SYSTEM WATCHDOG per-host check toggles and NIC configuration +# # ============================================================================================== # ============================================================================================== @@ -118,7 +126,9 @@ # Discord webhook — leave blank to disable. HOSTN_DISCORD_WEBHOOK="" -# ━━━ Partnership ━━━ +# ============================================================================================== +# ── PARTNERSHIP ─────────────────────────────────────────────────────────────────────────────── +# ============================================================================================== # Auth containers reconfigured on onboard/offboard. # Format: "ContainerName|WebUIPort" @@ -169,6 +179,12 @@ # /mnt/user/Music ) +# ━━━ Personal Shares ━━━ +# Private encrypted shares synced for offsite backup, independent of media shares. + HOSTN_PERSONAL_SHARES=( + # /mnt/user/Personal # e.g. ZFS-encrypted dataset + ) + # ━━━ Weekly Sync Shares ━━━ # Appdata shares synced during the weekly maintenance window. # Profiles (emby, critical-data) drive container stops — define in master.conf. @@ -191,12 +207,6 @@ # "/mnt/user/Media_Server/Emby|emby-fallback" ) -# ━━━ Personal Shares ━━━ -# Private encrypted shares synced for offsite backup, independent of media shares. - HOSTN_PERSONAL_SHARES=( - # /mnt/user/Personal # e.g. ZFS-encrypted dataset - ) - # ━━━ Backup Verify ━━━ # Leave empty to use HOSTN_DAILY_SYNC_SHARES automatically. HOSTN_BACKUP_VERIFY_SHARES=( @@ -214,6 +224,67 @@ PROFILE_CONTAINER_DELAY[hostn-appdata]=5 PROFILE_EXCLUDE_DIRS[hostn-appdata]="logs *.tmp" +# ============================================================================================== +# ── FALLBACK ────────────────────────────────────────────────────────────────────────────────── +# ============================================================================================== + +# ━━━ DDNS ━━━ +# DDNS containers this host manages. + HOSTN_DDNS_CONTAINERS=( + # "MyServer.com" + ) + +# ━━━ Internet Loss ━━━ +# Containers stopped immediately when internet is lost. + FALLBACK_HOSTN_STOP_ON_NO_NET=( + # "MyServer.com" + ) + +# ━━━ Fallback Tiers — HOSTN Runs for Partner ━━━ +# Containers this host starts when the partner goes down. +# Replace REMOTE_ID below with the actual remote host ID (HOST1, HOST2, etc.) + FALLBACK_HOSTN_COVERS_REMOTE_ID_TIER1=( + # "Partner-DDNS-Container" + ) + + FALLBACK_HOSTN_COVERS_REMOTE_ID_TIER2=( + # "container-placeholder" + ) + + FALLBACK_HOSTN_COVERS_REMOTE_ID_TIER3=( + # "container-placeholder" + ) + + FALLBACK_HOSTN_COVERS_REMOTE_ID_TIER4=( + # "container-placeholder" + ) + +# ━━━ Tier Delays — Partner's Containers on this Host ━━━ +# How long the partner must be down before each tier activates here — in minutes. +# Replace REMOTE_ID with the actual remote host ID (HOST1, HOST2, etc.) + REMOTE_ID_TIER2_DELAY=240 # 4 hours + REMOTE_ID_TIER3_DELAY=720 # 12 hours + REMOTE_ID_TIER4_DELAY=1440 # 24 hours + +# ━━━ Rsync Writeback ━━━ + HOSTN_TIER1_WRITEBACK_DELAY=60 # skip Emby writeback if outage under 1hr + + FALLBACK_HOSTN_WRITEBACK_TIER1=( + # "/mnt/user/Media_Server/Emby" + ) + + FALLBACK_HOSTN_WRITEBACK_TIER2=( + # "/mnt/user/appdata-Fallback/Important-Data" + ) + + FALLBACK_HOSTN_WRITEBACK_TIER3=( + # "location-placeholder" + ) + + FALLBACK_HOSTN_WRITEBACK_TIER4=( + # "/mnt/user/appdata-Fallback/Arrs_Stack" + ) + # ============================================================================================== # ── DOCKER ──────────────────────────────────────────────────────────────────────────────────── # ============================================================================================== @@ -278,67 +349,6 @@ # "high-availability" ) -# ============================================================================================== -# ── FALLBACK ────────────────────────────────────────────────────────────────────────────────── -# ============================================================================================== - -# ━━━ DDNS ━━━ -# DDNS containers this host manages. - HOSTN_DDNS_CONTAINERS=( - # "MyServer.com" - ) - -# ━━━ Internet Loss ━━━ -# Containers stopped immediately when internet is lost. - FALLBACK_HOSTN_STOP_ON_NO_NET=( - # "MyServer.com" - ) - -# ━━━ Fallback Tiers — HOSTN Runs for Partner ━━━ -# Containers this host starts when the partner goes down. -# Replace REMOTE_ID below with the actual remote host ID (HOST1, HOST2, etc.) - FALLBACK_HOSTN_COVERS_REMOTE_ID_TIER1=( - # "Partner-DDNS-Container" - ) - - FALLBACK_HOSTN_COVERS_REMOTE_ID_TIER2=( - # "container-placeholder" - ) - - FALLBACK_HOSTN_COVERS_REMOTE_ID_TIER3=( - # "container-placeholder" - ) - - FALLBACK_HOSTN_COVERS_REMOTE_ID_TIER4=( - # "container-placeholder" - ) - -# ━━━ Tier Delays — Partner's Containers on this Host ━━━ -# How long the partner must be down before each tier activates here — in minutes. -# Replace REMOTE_ID with the actual remote host ID (HOST1, HOST2, etc.) - REMOTE_ID_TIER2_DELAY=240 # 4 hours - REMOTE_ID_TIER3_DELAY=720 # 12 hours - REMOTE_ID_TIER4_DELAY=1440 # 24 hours - -# ━━━ Rsync Writeback ━━━ - HOSTN_TIER1_WRITEBACK_DELAY=60 # skip Emby writeback if outage under 1hr - - FALLBACK_HOSTN_WRITEBACK_TIER1=( - # "/mnt/user/Media_Server/Emby" - ) - - FALLBACK_HOSTN_WRITEBACK_TIER2=( - # "/mnt/user/appdata-Fallback/Important-Data" - ) - - FALLBACK_HOSTN_WRITEBACK_TIER3=( - # "location-placeholder" - ) - - FALLBACK_HOSTN_WRITEBACK_TIER4=( - # "/mnt/user/appdata-Fallback/Arrs_Stack" - ) - # ============================================================================================== # ── MEDIA ───────────────────────────────────────────────────────────────────────────────────── # ============================================================================================== @@ -362,38 +372,6 @@ # /mnt/user/Tv_Shows ) -# ============================================================================================== -# ── MONITORS ────────────────────────────────────────────────────────────────────────────────── -# ============================================================================================== - -# ━━━ Certificate Monitor ━━━ - HOSTN_CERT_MONITOR_DOMAINS=( - # "myserver.com" - ) - -# ━━━ SMART Health ━━━ - HOSTN_SMART_IGNORE_DRIVES=( - "sda" # boot USB — SMART not meaningful on flash drives - ) - -# ━━━ ZFS Report ━━━ - HOSTN_ZFS_REPORT_IGNORE_POOLS=( - # "disk5" - ) - -# ============================================================================================== -# ── TRANSCODES ──────────────────────────────────────────────────────────────────────────────── -# ============================================================================================== - - HOSTN_RAMDISK_SIZE="10G" - HOSTN_RAMDISK_WARN_GB=8.5 - HOSTN_RAMDISK_LOW_GB=7 - HOSTN_TRANSCODE_SSD="/mnt/cache/Temp_Storage/Emby/Transcodes/" - - HOSTN_TRANSCODE_SERVERS=( - "${HOSTN_EMBY_CONTAINER}|${HOSTN_EMBY_URL}|${HOSTN_EMBY_API_KEY}|emby" - ) - # ============================================================================================== # ── ARR STACK ───────────────────────────────────────────────────────────────────────────────── # ============================================================================================== @@ -445,10 +423,57 @@ HOSTN_SONARR_RECOVERY=true HOSTN_RADARR_RECOVERY=true +# ============================================================================================== +# ── TRANSCODES ──────────────────────────────────────────────────────────────────────────────── +# ============================================================================================== + + HOSTN_RAMDISK_SIZE="10G" + HOSTN_RAMDISK_WARN_GB=8.5 + HOSTN_RAMDISK_LOW_GB=7 + HOSTN_TRANSCODE_SSD="/mnt/cache/Temp_Storage/Emby/Transcodes/" + + HOSTN_TRANSCODE_SERVERS=( + "${HOSTN_EMBY_CONTAINER}|${HOSTN_EMBY_URL}|${HOSTN_EMBY_API_KEY}|emby" + ) + +# ============================================================================================== +# ── MONITORS ────────────────────────────────────────────────────────────────────────────────── +# ============================================================================================== + +# ━━━ Certificate Monitor ━━━ + HOSTN_CERT_MONITOR_DOMAINS=( + # "myserver.com" + ) + +# ━━━ SMART Health ━━━ + HOSTN_SMART_IGNORE_DRIVES=( + "sda" # boot USB — SMART not meaningful on flash drives + ) + +# ━━━ ZFS Report ━━━ + HOSTN_ZFS_REPORT_IGNORE_POOLS=( + # "disk5" + ) + +# ============================================================================================== +# ── RESOURCE MANAGER ────────────────────────────────────────────────────────────────────────── +# ============================================================================================== + + HOSTN_RW_PAUSE_CONTAINERS=( + # "Tdarr" + # "LidaTube" + ) + + HOSTN_RW_STOP_CONTAINERS=( + # "Tdarr" + ) + # ============================================================================================== # ── SYSTEM WATCHDOG ─────────────────────────────────────────────────────────────────────────── # ============================================================================================== + HOSTN_SYS_WATCHDOG_NIC="" # e.g. eth0 — for network monitoring + HOSTN_SYS_WATCHDOG_CHECK_DOCKER=true HOSTN_SYS_WATCHDOG_CHECK_ROOTFS=true HOSTN_SYS_WATCHDOG_CHECK_KERNEL_OOPS=true @@ -467,18 +492,3 @@ HOSTN_SYS_WATCHDOG_CHECK_NETWORK=true HOSTN_SYS_WATCHDOG_CHECK_SSHD=true HOSTN_SYS_WATCHDOG_CHECK_RUNAWAY=false - - HOSTN_SYS_WATCHDOG_NIC="" # e.g. eth0 — for network monitoring - -# ============================================================================================== -# ── RESOURCE MANAGER ────────────────────────────────────────────────────────────────────────── -# ============================================================================================== - - HOSTN_RW_PAUSE_CONTAINERS=( - # "Tdarr" - # "LidaTube" - ) - - HOSTN_RW_STOP_CONTAINERS=( - # "Tdarr" - )