rename appdata folder and repo from unraid_scripts to varaverk
- TARGET_DIR, DATA_DIR: /mnt/user/appdata/unraid_scripts → /mnt/user/appdata/varaverk - GITEA_REPO_PATH: Varaverk/Unraid_Scripts.git → Varaverk/varaverk.git - DEV_ROOT: .../Development/Unraid_Scripts → .../Development/varaverk - deploy hook path updated in .claude/settings.json - All script comments, docs, and manual paths updated throughout
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"hooks": {
|
||||||
|
"PostToolUse": [
|
||||||
|
{
|
||||||
|
"matcher": "Edit|Write",
|
||||||
|
"hooks": [
|
||||||
|
{
|
||||||
|
"type": "command",
|
||||||
|
"command": "bash '/mnt/cloud-storage/Important Shit/Git/Development/varaverk/Deployment/deploy.sh'"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
# Array share — survives reboots, no flash drive wear.
|
# Array share — survives reboots, no flash drive wear.
|
||||||
# Created automatically if it doesn't exist.
|
# Created automatically if it doesn't exist.
|
||||||
# Only truly critical files (fallback state, watchdog reboot log) stay on /boot/config.
|
# Only truly critical files (fallback state, watchdog reboot log) stay on /boot/config.
|
||||||
DATA_DIR="/mnt/user/appdata/unraid_scripts/data"
|
DATA_DIR="/mnt/user/appdata/varaverk/data"
|
||||||
|
|
||||||
# ── Version Parity ──
|
# ── Version Parity ──
|
||||||
# Controls behaviour when local and remote unRAID versions differ.
|
# Controls behaviour when local and remote unRAID versions differ.
|
||||||
@@ -248,9 +248,9 @@
|
|||||||
# Detects Gitea container location at runtime — works through failover automatically.
|
# Detects Gitea container location at runtime — works through failover automatically.
|
||||||
# Falls back to GITEA_DOMAIN if local and Tailscale both fail.
|
# Falls back to GITEA_DOMAIN if local and Tailscale both fail.
|
||||||
GITEA_CONTAINER="Gitea"
|
GITEA_CONTAINER="Gitea"
|
||||||
GITEA_REPO_PATH="Varaverk/Unraid_Scripts.git"
|
GITEA_REPO_PATH="Varaverk/varaverk.git"
|
||||||
GITEA_DOMAIN="" # e.g. git.yourdomain.com — requires NPM + DNS
|
GITEA_DOMAIN="" # e.g. git.yourdomain.com — requires NPM + DNS
|
||||||
TARGET_DIR="/mnt/user/appdata/unraid_scripts"
|
TARGET_DIR="/mnt/user/appdata/varaverk"
|
||||||
GITEA_SSH_KEY="/root/.ssh/unraid_gitea"
|
GITEA_SSH_KEY="/root/.ssh/unraid_gitea"
|
||||||
SSH_PORT=221 # Gitea SSH port (default 22, Gitea often uses 221/222)
|
SSH_PORT=221 # Gitea SSH port (default 22, Gitea often uses 221/222)
|
||||||
GITEA_HTTP_PORT=3000 # Gitea web/API port — used by gitea_ssh_setup.sh
|
GITEA_HTTP_PORT=3000 # Gitea web/API port — used by gitea_ssh_setup.sh
|
||||||
@@ -1250,6 +1250,7 @@
|
|||||||
# Newest LastPlayedDate wins — no data is ever lost. Users matched by name (case-insensitive).
|
# Newest LastPlayedDate wins — no data is ever lost. Users matched by name (case-insensitive).
|
||||||
# Called via DAILY_MAINTENANCE_SCRIPTS. Run manually: Media/play_state_sync.sh
|
# Called via DAILY_MAINTENANCE_SCRIPTS. Run manually: Media/play_state_sync.sh
|
||||||
PLAY_SYNC_ENABLED=true
|
PLAY_SYNC_ENABLED=true
|
||||||
|
PLAY_SYNC_REMOTE=true # true = sync across all hosts via Tailscale; false = local servers only
|
||||||
PLAY_SYNC_DAYS=90 # how many days back to look (0 = all time, slow on large libraries)
|
PLAY_SYNC_DAYS=90 # how many days back to look (0 = all time, slow on large libraries)
|
||||||
PLAY_SYNC_TYPES="Movie,Episode,Audio" # item types to sync
|
PLAY_SYNC_TYPES="Movie,Episode,Audio" # item types to sync
|
||||||
|
|
||||||
|
|||||||
@@ -115,7 +115,7 @@
|
|||||||
# Array share — survives reboots, no flash drive wear.
|
# Array share — survives reboots, no flash drive wear.
|
||||||
# Created automatically if it doesn't exist.
|
# Created automatically if it doesn't exist.
|
||||||
# Only truly critical files (fallback state, watchdog reboot log) stay on /boot/config.
|
# Only truly critical files (fallback state, watchdog reboot log) stay on /boot/config.
|
||||||
DATA_DIR="/mnt/user/appdata/unraid_scripts/data"
|
DATA_DIR="/mnt/user/appdata/varaverk/data"
|
||||||
|
|
||||||
# ── Version Parity ──
|
# ── Version Parity ──
|
||||||
# Controls behaviour when local and remote unRAID versions differ.
|
# Controls behaviour when local and remote unRAID versions differ.
|
||||||
@@ -248,9 +248,9 @@
|
|||||||
# Detects Gitea container location at runtime — works through failover automatically.
|
# Detects Gitea container location at runtime — works through failover automatically.
|
||||||
# Falls back to GITEA_DOMAIN if local and Tailscale both fail.
|
# Falls back to GITEA_DOMAIN if local and Tailscale both fail.
|
||||||
GITEA_CONTAINER="Gitea"
|
GITEA_CONTAINER="Gitea"
|
||||||
GITEA_REPO_PATH="Varaverk/Unraid_Scripts.git"
|
GITEA_REPO_PATH="Varaverk/varaverk.git"
|
||||||
GITEA_DOMAIN="" # e.g. git.yourdomain.com — requires NPM + DNS
|
GITEA_DOMAIN="" # e.g. git.yourdomain.com — requires NPM + DNS
|
||||||
TARGET_DIR="/mnt/user/appdata/unraid_scripts"
|
TARGET_DIR="/mnt/user/appdata/varaverk"
|
||||||
GITEA_SSH_KEY="/root/.ssh/unraid_gitea"
|
GITEA_SSH_KEY="/root/.ssh/unraid_gitea"
|
||||||
SSH_PORT=221 # Gitea SSH port (default 22, Gitea often uses 221/222)
|
SSH_PORT=221 # Gitea SSH port (default 22, Gitea often uses 221/222)
|
||||||
GITEA_HTTP_PORT=3000 # Gitea web/API port — used by gitea_ssh_setup.sh
|
GITEA_HTTP_PORT=3000 # Gitea web/API port — used by gitea_ssh_setup.sh
|
||||||
@@ -636,6 +636,10 @@
|
|||||||
FALLBACK_STATE_FILE="/boot/config/fallback_state.db"
|
FALLBACK_STATE_FILE="/boot/config/fallback_state.db"
|
||||||
FALLBACK_ENABLED=true # HOST2 back online
|
FALLBACK_ENABLED=true # HOST2 back online
|
||||||
# false = suppresses "not running" warnings in status scripts
|
# false = suppresses "not running" warnings in status scripts
|
||||||
|
FALLBACK_PARTNERSHIP_REQUIRED=true # gate fallback on an active partnership
|
||||||
|
# false = standalone mode, no partnership dependency
|
||||||
|
FALLBACK_PARTNERSHIP_SUSPEND_AFTER=120 # minutes without active partnership before suspending
|
||||||
|
# 0 = suspend immediately when partnership goes inactive
|
||||||
|
|
||||||
# ━━━ Failover Test ━━━
|
# ━━━ Failover Test ━━━
|
||||||
# Controlled simulation of a failover event — run manually via fallback_test.sh.
|
# Controlled simulation of a failover event — run manually via fallback_test.sh.
|
||||||
|
|||||||
Executable
+80
@@ -0,0 +1,80 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# ==============================================================================================
|
||||||
|
# deploy.sh — Sync dev working tree → prod runtime for Plugin PHP and conf files.
|
||||||
|
# ==============================================================================================
|
||||||
|
#
|
||||||
|
# Direct call (interactive): ! bash Deployment/deploy.sh
|
||||||
|
# Deploys both Plugin and Configurations with full output.
|
||||||
|
#
|
||||||
|
# Hook call (Claude Code PostToolUse):
|
||||||
|
# Reads the tool JSON from stdin, deploys only the component that was actually changed.
|
||||||
|
# Plugin/ → rsync --delete into prod Plugin/unraid/
|
||||||
|
# Configurations/ → conf_upgrade.sh (adds new keys, preserves prod values)
|
||||||
|
#
|
||||||
|
# ==============================================================================================
|
||||||
|
|
||||||
|
DEV_ROOT="/mnt/cloud-storage/Important Shit/Git/Development/varaverk"
|
||||||
|
PROD_ROOT="/mnt/user/appdata/varaverk"
|
||||||
|
UPGRADE="$PROD_ROOT/Deployment/conf_upgrade.sh"
|
||||||
|
LOG="/tmp/vv_deploy.log"
|
||||||
|
|
||||||
|
# ── Deploy functions ──────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
deploy_plugin() {
|
||||||
|
rsync -a --delete --exclude='.git' \
|
||||||
|
"$DEV_ROOT/Plugin/unraid/" \
|
||||||
|
"$PROD_ROOT/Plugin/unraid/"
|
||||||
|
}
|
||||||
|
|
||||||
|
deploy_conf() {
|
||||||
|
for conf in master.conf host1.conf host2.conf; do
|
||||||
|
tmpl="$DEV_ROOT/Configurations/$conf"
|
||||||
|
target="$PROD_ROOT/Configurations/$conf"
|
||||||
|
[[ -f "$tmpl" && -f "$target" ]] && \
|
||||||
|
"$UPGRADE" --template "$tmpl" --target "$target"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# ── Entry point ───────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
# Read stdin (non-blocking — empty when called directly or via '!')
|
||||||
|
STDIN=$(cat 2>/dev/null || true)
|
||||||
|
|
||||||
|
# Extract file_path from hook JSON if present
|
||||||
|
FILE=$(python3 -c "
|
||||||
|
import json, sys
|
||||||
|
try:
|
||||||
|
d = json.loads(sys.stdin.read())
|
||||||
|
print(d.get('tool_input', {}).get('file_path', ''))
|
||||||
|
except:
|
||||||
|
print('')
|
||||||
|
" <<< "$STDIN" 2>/dev/null || echo "")
|
||||||
|
|
||||||
|
if [[ -z "$FILE" ]]; then
|
||||||
|
# Direct call (interactive or via !) — deploy everything with output
|
||||||
|
echo "=== deploy: dev → prod ==="
|
||||||
|
echo ""
|
||||||
|
echo "── Plugin ──"
|
||||||
|
deploy_plugin && echo " rsync done"
|
||||||
|
echo ""
|
||||||
|
echo "── Configurations ──"
|
||||||
|
deploy_conf
|
||||||
|
echo ""
|
||||||
|
echo "=== done ==="
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Hook call — deploy only the affected component, log silently
|
||||||
|
{
|
||||||
|
echo "[$(date '+%H:%M:%S')] hook: $FILE"
|
||||||
|
|
||||||
|
if [[ "$FILE" == "$DEV_ROOT/Plugin/"* ]]; then
|
||||||
|
deploy_plugin && echo " plugin synced"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$FILE" == "$DEV_ROOT/Configurations/"* ]]; then
|
||||||
|
deploy_conf && echo " conf upgraded"
|
||||||
|
fi
|
||||||
|
} >> "$LOG" 2>&1
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -89,8 +89,8 @@ hostname
|
|||||||
### ── Clone on HOST1 ───────────────────────────────────────────────────────────
|
### ── Clone on HOST1 ───────────────────────────────────────────────────────────
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone <your_repo_url> /mnt/user/appdata/unraid_scripts
|
git clone <your_repo_url> /mnt/user/appdata/varaverk
|
||||||
cd /mnt/user/appdata/unraid_scripts
|
cd /mnt/user/appdata/varaverk
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -98,8 +98,8 @@ cd /mnt/user/appdata/unraid_scripts
|
|||||||
### ── Clone on HOST2 ───────────────────────────────────────────────────────────
|
### ── Clone on HOST2 ───────────────────────────────────────────────────────────
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone <your_repo_url> /mnt/user/appdata/unraid_scripts
|
git clone <your_repo_url> /mnt/user/appdata/varaverk
|
||||||
cd /mnt/user/appdata/unraid_scripts
|
cd /mnt/user/appdata/varaverk
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -112,7 +112,7 @@ credentials. Set up sparse checkout so each server only receives its own conf fi
|
|||||||
|
|
||||||
**On HOST1** — exclude host2.conf:
|
**On HOST1** — exclude host2.conf:
|
||||||
```bash
|
```bash
|
||||||
cd /mnt/user/appdata/unraid_scripts
|
cd /mnt/user/appdata/varaverk
|
||||||
git sparse-checkout init --no-cone
|
git sparse-checkout init --no-cone
|
||||||
git sparse-checkout set '/*' '!/Configurations/host2.conf'
|
git sparse-checkout set '/*' '!/Configurations/host2.conf'
|
||||||
git checkout
|
git checkout
|
||||||
@@ -120,7 +120,7 @@ git checkout
|
|||||||
|
|
||||||
**On HOST2** — exclude host1.conf:
|
**On HOST2** — exclude host1.conf:
|
||||||
```bash
|
```bash
|
||||||
cd /mnt/user/appdata/unraid_scripts
|
cd /mnt/user/appdata/varaverk
|
||||||
git sparse-checkout init --no-cone
|
git sparse-checkout init --no-cone
|
||||||
git sparse-checkout set '/*' '!/Configurations/host1.conf'
|
git sparse-checkout set '/*' '!/Configurations/host1.conf'
|
||||||
git checkout
|
git checkout
|
||||||
@@ -235,7 +235,7 @@ prompted for HOST1's root password once (for the initial key copy). After that,
|
|||||||
all SSH is keyless.
|
all SSH is keyless.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /mnt/user/appdata/unraid_scripts
|
cd /mnt/user/appdata/varaverk
|
||||||
bash Partnership/ssh_setup.sh
|
bash Partnership/ssh_setup.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -249,7 +249,7 @@ When prompted, enter HOST1's root password. The script:
|
|||||||
### ── Run on HOST1 ──────────────────────────────────────────────────────────
|
### ── Run on HOST1 ──────────────────────────────────────────────────────────
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /mnt/user/appdata/unraid_scripts
|
cd /mnt/user/appdata/varaverk
|
||||||
bash Partnership/ssh_setup.sh
|
bash Partnership/ssh_setup.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -312,15 +312,15 @@ paste the command. Name the entry to match the script name.
|
|||||||
|
|
||||||
| Script | Cron schedule | Command |
|
| Script | Cron schedule | Command |
|
||||||
|--------|--------------|---------|
|
|--------|--------------|---------|
|
||||||
| `array_started` | At Array Start | `bash /mnt/user/appdata/unraid_scripts/Orchestrators/array_started.sh` |
|
| `array_started` | At Array Start | `bash /mnt/user/appdata/varaverk/Orchestrators/array_started.sh` |
|
||||||
| `watchdog_orchestrator` | `* * * * *` | `bash /mnt/user/appdata/unraid_scripts/Orchestrators/watchdog_orchestrator.sh` |
|
| `watchdog_orchestrator` | `* * * * *` | `bash /mnt/user/appdata/varaverk/Orchestrators/watchdog_orchestrator.sh` |
|
||||||
| `transcode_management` | `*/7 * * * *` | `bash /mnt/user/appdata/unraid_scripts/Orchestrators/transcode_management.sh` |
|
| `transcode_management` | `*/7 * * * *` | `bash /mnt/user/appdata/varaverk/Orchestrators/transcode_management.sh` |
|
||||||
| `critical_sync_maintenance` | `*/30 * * * *` | `bash /mnt/user/appdata/unraid_scripts/Orchestrators/critical_sync_maintenance.sh` |
|
| `critical_sync_maintenance` | `*/30 * * * *` | `bash /mnt/user/appdata/varaverk/Orchestrators/critical_sync_maintenance.sh` |
|
||||||
| `emby_fallback_sync` | `*/30 * * * *` | `bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Media_Server/Emby --profile=emby-fallback` |
|
| `emby_fallback_sync` | `*/30 * * * *` | `bash /mnt/user/appdata/varaverk/Rsync/rsync.sh /mnt/user/Media_Server/Emby --profile=emby-fallback` |
|
||||||
| `intermediate_sync_maintenance` | `0 */4 * * *` | `bash /mnt/user/appdata/unraid_scripts/Orchestrators/intermediate_sync_maintenance.sh` |
|
| `intermediate_sync_maintenance` | `0 */4 * * *` | `bash /mnt/user/appdata/varaverk/Orchestrators/intermediate_sync_maintenance.sh` |
|
||||||
| `daily_sync_maintenance` | `0 1 * * *` | `bash /mnt/user/appdata/unraid_scripts/Orchestrators/daily_sync_maintenance.sh` |
|
| `daily_sync_maintenance` | `0 1 * * *` | `bash /mnt/user/appdata/varaverk/Orchestrators/daily_sync_maintenance.sh` |
|
||||||
| `weekly_sync_maintenance` | `30 2 * * 0` | `bash /mnt/user/appdata/unraid_scripts/Orchestrators/weekly_sync_maintenance.sh` |
|
| `weekly_sync_maintenance` | `30 2 * * 0` | `bash /mnt/user/appdata/varaverk/Orchestrators/weekly_sync_maintenance.sh` |
|
||||||
| `weekly_health_digest` | `0 8 * * *` | `bash /mnt/user/appdata/unraid_scripts/Monitors/weekly_health_digest.sh` |
|
| `weekly_health_digest` | `0 8 * * *` | `bash /mnt/user/appdata/varaverk/Monitors/weekly_health_digest.sh` |
|
||||||
|
|
||||||
> `array_started` uses the built-in "At Array Start" schedule option in User Scripts —
|
> `array_started` uses the built-in "At Array Start" schedule option in User Scripts —
|
||||||
> it is not a cron expression.
|
> it is not a cron expression.
|
||||||
@@ -354,7 +354,7 @@ will take a while depending on library size.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# On HOST1 — preview what would sync, check paths and profiles
|
# On HOST1 — preview what would sync, check paths and profiles
|
||||||
bash /mnt/user/appdata/unraid_scripts/Orchestrators/daily_sync_maintenance.sh --dry-run --log
|
bash /mnt/user/appdata/varaverk/Orchestrators/daily_sync_maintenance.sh --dry-run --log
|
||||||
```
|
```
|
||||||
|
|
||||||
Review the output. Check that:
|
Review the output. Check that:
|
||||||
@@ -368,7 +368,7 @@ Review the output. Check that:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# On HOST1 — run the full daily sync (this includes rsync for all DAILY_SYNC_SHARES)
|
# On HOST1 — run the full daily sync (this includes rsync for all DAILY_SYNC_SHARES)
|
||||||
bash /mnt/user/appdata/unraid_scripts/Orchestrators/daily_sync_maintenance.sh --log
|
bash /mnt/user/appdata/varaverk/Orchestrators/daily_sync_maintenance.sh --log
|
||||||
```
|
```
|
||||||
|
|
||||||
This will take longer than future nightly runs — it is transferring everything for
|
This will take longer than future nightly runs — it is transferring everything for
|
||||||
@@ -381,7 +381,7 @@ watch -n5 'ls -lh /mnt/user/Movies/ | tail -5'
|
|||||||
|
|
||||||
After it finishes, also run the critical sync to populate auth and Emby state:
|
After it finishes, also run the critical sync to populate auth and Emby state:
|
||||||
```bash
|
```bash
|
||||||
bash /mnt/user/appdata/unraid_scripts/Orchestrators/critical_sync_maintenance.sh --log
|
bash /mnt/user/appdata/varaverk/Orchestrators/critical_sync_maintenance.sh --log
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -410,7 +410,7 @@ Commit and pull on both servers so both pick up the change.
|
|||||||
|
|
||||||
To start it now without a reboot:
|
To start it now without a reboot:
|
||||||
```bash
|
```bash
|
||||||
bash /mnt/user/appdata/unraid_scripts/Fallback/fallback.sh &
|
bash /mnt/user/appdata/varaverk/Fallback/fallback.sh &
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -437,10 +437,10 @@ simulates an outage using `iptables` — no real downtime, no real data changes.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# On HOST2 — dry run first (sees the sequence, no container starts)
|
# On HOST2 — dry run first (sees the sequence, no container starts)
|
||||||
bash /mnt/user/appdata/unraid_scripts/Fallback/fallback_test.sh --dry-run --log
|
bash /mnt/user/appdata/varaverk/Fallback/fallback_test.sh --dry-run --log
|
||||||
|
|
||||||
# When ready — real test (uses iptables to simulate HOST1 unreachable)
|
# When ready — real test (uses iptables to simulate HOST1 unreachable)
|
||||||
bash /mnt/user/appdata/unraid_scripts/Fallback/fallback_test.sh --log
|
bash /mnt/user/appdata/varaverk/Fallback/fallback_test.sh --log
|
||||||
```
|
```
|
||||||
|
|
||||||
The test runs in phases — blocks HOST1's Tailscale IP, waits for `fallback.sh` to
|
The test runs in phases — blocks HOST1's Tailscale IP, waits for `fallback.sh` to
|
||||||
@@ -478,9 +478,9 @@ HOST2 runs first — it generates its SSH key and waits. The owner completes set
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# On HOST2
|
# On HOST2
|
||||||
bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_onboard.sh --dry-run --log
|
bash /mnt/user/appdata/varaverk/Partnership/partnership_onboard.sh --dry-run --log
|
||||||
# Review output, then:
|
# Review output, then:
|
||||||
bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_onboard.sh --log
|
bash /mnt/user/appdata/varaverk/Partnership/partnership_onboard.sh --log
|
||||||
```
|
```
|
||||||
|
|
||||||
HOST2's work is done after Step 1 (SSH key setup). The rest happens on HOST1.
|
HOST2's work is done after Step 1 (SSH key setup). The rest happens on HOST1.
|
||||||
@@ -491,9 +491,9 @@ HOST2's work is done after Step 1 (SSH key setup). The rest happens on HOST1.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# On HOST1
|
# On HOST1
|
||||||
bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_onboard.sh --dry-run --log
|
bash /mnt/user/appdata/varaverk/Partnership/partnership_onboard.sh --dry-run --log
|
||||||
# Review output — this will deploy auth + arr stacks to HOST2 remotely
|
# Review output — this will deploy auth + arr stacks to HOST2 remotely
|
||||||
bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_onboard.sh --log
|
bash /mnt/user/appdata/varaverk/Partnership/partnership_onboard.sh --log
|
||||||
```
|
```
|
||||||
|
|
||||||
The owner path deploys containers to HOST2 via SSH, configures WebUI targets, runs
|
The owner path deploys containers to HOST2 via SSH, configures WebUI targets, runs
|
||||||
@@ -542,8 +542,8 @@ cat /boot/config/fallback_state.db
|
|||||||
Bandwidth monitor records every sync:
|
Bandwidth monitor records every sync:
|
||||||
```bash
|
```bash
|
||||||
# Latest transfer log
|
# Latest transfer log
|
||||||
ls -lt /mnt/user/appdata/unraid_scripts/data/bandwidth_monitor/
|
ls -lt /mnt/user/appdata/varaverk/data/bandwidth_monitor/
|
||||||
cat /mnt/user/appdata/unraid_scripts/data/bandwidth_monitor/<latest_log>
|
cat /mnt/user/appdata/varaverk/data/bandwidth_monitor/<latest_log>
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -254,7 +254,7 @@ HOST2_EMBY_API_KEY="<host2_api_key>"
|
|||||||
```
|
```
|
||||||
|
|
||||||
To generate an API key: Emby UI → Settings → API Keys → New API Key.
|
To generate an API key: Emby UI → Settings → API Keys → New API Key.
|
||||||
Give it a descriptive name (e.g., `unraid_scripts`). The key is only shown once.
|
Give it a descriptive name (e.g., `varaverk`). The key is only shown once.
|
||||||
|
|
||||||
### Report Configuration
|
### Report Configuration
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,32 @@
|
|||||||
# Step 5: Write State — ACTIVE written locally and pushed to new mirror
|
# Step 5: Write State — ACTIVE written locally and pushed to new mirror
|
||||||
#
|
#
|
||||||
# ==============================================================================================
|
# ==============================================================================================
|
||||||
|
# OPERATIONAL SAFEGUARDS
|
||||||
|
# ==============================================================================================
|
||||||
|
#
|
||||||
|
# Owner-Only Enforcement
|
||||||
|
# The script reads MY_ID from detect_hosts() and exits immediately if it is
|
||||||
|
# not the current PARTNERSHIP_OWNER_HOST. The mirror cannot run a transfer.
|
||||||
|
#
|
||||||
|
# Explicit Confirmation String
|
||||||
|
# Requires the exact passphrase from PARTNERSHIP_TRANSFER_CONFIRM via
|
||||||
|
# --confirm=<value>. Without a matching string the transfer is cancelled
|
||||||
|
# before any steps execute. Prevents accidental ownership changes.
|
||||||
|
#
|
||||||
|
# Active Partnership Guard
|
||||||
|
# Reads the local state file and exits if the current state is INACTIVE.
|
||||||
|
# A transfer without an active partnership has no defined outcome.
|
||||||
|
#
|
||||||
|
# Dual Health Verification
|
||||||
|
# Both servers must pass PARTNERSHIP_TRANSFER_STRIKES consecutive health
|
||||||
|
# checks before proceeding. A single failure resets the strike counter.
|
||||||
|
# After PARTNERSHIP_TRANSFER_MAX_ATTEMPTS total attempts the transfer aborts.
|
||||||
|
#
|
||||||
|
# Pre-transfer Final Sync
|
||||||
|
# A full sync in the current direction (owner → mirror) runs immediately
|
||||||
|
# before roles flip. Ensures the mirror is current before it becomes the owner.
|
||||||
|
#
|
||||||
|
# ==============================================================================================
|
||||||
# CONFIGURATION
|
# CONFIGURATION
|
||||||
# ==============================================================================================
|
# ==============================================================================================
|
||||||
#
|
#
|
||||||
@@ -269,7 +295,7 @@ if [[ "$DRY_RUN" == false ]]; then
|
|||||||
-o ConnectTimeout="$SSH_TIMEOUT" \
|
-o ConnectTimeout="$SSH_TIMEOUT" \
|
||||||
-o StrictHostKeyChecking=no \
|
-o StrictHostKeyChecking=no \
|
||||||
"$SCRIPTS_ROOT/master.conf" \
|
"$SCRIPTS_ROOT/master.conf" \
|
||||||
"root@${MIRROR_IP}:/mnt/user/appdata/unraid_scripts/master.conf" 2>/dev/null && \
|
"root@${MIRROR_IP}:/mnt/user/appdata/varaverk/master.conf" 2>/dev/null && \
|
||||||
log "master.conf pushed to $NEW_OWNER ✅" || \
|
log "master.conf pushed to $NEW_OWNER ✅" || \
|
||||||
error "Failed to push master.conf to $NEW_OWNER — set PARTNERSHIP_OWNER_HOST=\"$NEW_OWNER_ID\" manually"
|
error "Failed to push master.conf to $NEW_OWNER — set PARTNERSHIP_OWNER_HOST=\"$NEW_OWNER_ID\" manually"
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
define('PLUGIN_CFG', '/boot/config/plugins/varaverk/varaverk.cfg');
|
define('PLUGIN_CFG', '/boot/config/plugins/varaverk/varaverk.cfg');
|
||||||
|
|
||||||
$_vv_cfg = @parse_ini_file(PLUGIN_CFG) ?: [];
|
$_vv_cfg = @parse_ini_file(PLUGIN_CFG) ?: [];
|
||||||
define('SCRIPTS_DIR', $_vv_cfg['SCRIPTS_DIR'] ?? '/mnt/user/appdata/unraid_scripts');
|
define('SCRIPTS_DIR', $_vv_cfg['SCRIPTS_DIR'] ?? '/mnt/user/appdata/varaverk');
|
||||||
define('CONF_DIR', SCRIPTS_DIR . '/Configurations');
|
define('CONF_DIR', SCRIPTS_DIR . '/Configurations');
|
||||||
define('LOG_DIR', '/var/log/varaverk');
|
define('LOG_DIR', '/var/log/varaverk');
|
||||||
unset($_vv_cfg);
|
unset($_vv_cfg);
|
||||||
@@ -51,7 +51,9 @@ function vv_read_conf_raw(string $filename): string {
|
|||||||
|
|
||||||
function vv_write_conf_raw(string $filename, string $content): bool {
|
function vv_write_conf_raw(string $filename, string $content): bool {
|
||||||
$path = CONF_DIR . '/' . $filename;
|
$path = CONF_DIR . '/' . $filename;
|
||||||
return file_put_contents($path, $content) !== false;
|
$tmp = $path . '.vv.tmp';
|
||||||
|
if (file_put_contents($tmp, $content) === false) return false;
|
||||||
|
return rename($tmp, $path);
|
||||||
}
|
}
|
||||||
|
|
||||||
function vv_get_conf_files(): array {
|
function vv_get_conf_files(): array {
|
||||||
@@ -91,3 +93,87 @@ function vv_conf_vars(): array {
|
|||||||
}
|
}
|
||||||
return $vars;
|
return $vars;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Query the Unraid GraphQL API for a given host.
|
||||||
|
// For the local host queries http://localhost/graphql; for remote hosts uses the Tailscale IP.
|
||||||
|
// $apiKey may be passed explicitly (needed when querying a remote host from the local host,
|
||||||
|
// since vv_conf_vars() only loads the current host's conf file).
|
||||||
|
// Returns the decoded 'data' object on success, null on any failure.
|
||||||
|
// Debug log written to /tmp/vv_api_debug.json on failure.
|
||||||
|
function vv_unraid_api_query(string $hostId, string $gql, int $timeoutSec = 5, string $apiKey = ''): ?array {
|
||||||
|
$vars = vv_conf_vars();
|
||||||
|
$key = $apiKey ?: ($vars[strtoupper($hostId) . '_UNRAID_API_KEY'] ?? '');
|
||||||
|
if (!$key) return null;
|
||||||
|
|
||||||
|
$myHostId = vv_detect_host();
|
||||||
|
if (strtolower($hostId) === strtolower($myHostId)) {
|
||||||
|
$url = 'http://localhost/graphql';
|
||||||
|
} else {
|
||||||
|
$hostname = $vars[strtoupper($hostId)] ?? '';
|
||||||
|
if (!$hostname) return null;
|
||||||
|
$ip = vv_resolve_tailscale_ip($hostname);
|
||||||
|
if (!$ip) return null;
|
||||||
|
$url = "http://{$ip}/graphql";
|
||||||
|
}
|
||||||
|
|
||||||
|
$body = json_encode(['query' => $gql]);
|
||||||
|
|
||||||
|
// Use curl (preferred — doesn't require allow_url_fopen, better error handling).
|
||||||
|
if (function_exists('curl_init')) {
|
||||||
|
$ch = curl_init($url);
|
||||||
|
curl_setopt_array($ch, [
|
||||||
|
CURLOPT_POST => true,
|
||||||
|
CURLOPT_HTTPHEADER => ['Content-Type: application/json', "x-api-key: {$key}"],
|
||||||
|
CURLOPT_POSTFIELDS => $body,
|
||||||
|
CURLOPT_RETURNTRANSFER => true,
|
||||||
|
CURLOPT_TIMEOUT => $timeoutSec,
|
||||||
|
CURLOPT_CONNECTTIMEOUT => 3,
|
||||||
|
CURLOPT_FOLLOWLOCATION => false,
|
||||||
|
]);
|
||||||
|
$resp = curl_exec($ch);
|
||||||
|
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||||
|
$curlErr = curl_error($ch);
|
||||||
|
curl_close($ch);
|
||||||
|
} else {
|
||||||
|
// Fallback to file_get_contents if curl is unavailable.
|
||||||
|
$ctx = stream_context_create(['http' => [
|
||||||
|
'method' => 'POST',
|
||||||
|
'header' => "Content-Type: application/json\r\nx-api-key: {$key}",
|
||||||
|
'content' => $body,
|
||||||
|
'timeout' => $timeoutSec,
|
||||||
|
'ignore_errors' => true,
|
||||||
|
]]);
|
||||||
|
$resp = @file_get_contents($url, false, $ctx);
|
||||||
|
$httpCode = $resp !== false ? 200 : 0;
|
||||||
|
$curlErr = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($resp === false || $resp === '' || ($httpCode !== 0 && $httpCode !== 200)) {
|
||||||
|
@file_put_contents('/tmp/vv_api_debug.json', json_encode([
|
||||||
|
'ts' => time(),
|
||||||
|
'host' => $hostId,
|
||||||
|
'url' => $url,
|
||||||
|
'http_code' => $httpCode,
|
||||||
|
'curl_err' => $curlErr,
|
||||||
|
'response' => substr((string)$resp, 0, 800),
|
||||||
|
], JSON_PRETTY_PRINT));
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$decoded = json_decode((string)$resp, true);
|
||||||
|
|
||||||
|
// If the API returned GraphQL errors, log them for diagnosis.
|
||||||
|
if (!empty($decoded['errors'])) {
|
||||||
|
@file_put_contents('/tmp/vv_api_debug.json', json_encode([
|
||||||
|
'ts' => time(),
|
||||||
|
'host' => $hostId,
|
||||||
|
'url' => $url,
|
||||||
|
'http_code' => $httpCode,
|
||||||
|
'errors' => $decoded['errors'],
|
||||||
|
'data' => $decoded['data'] ?? null,
|
||||||
|
], JSON_PRETTY_PRINT));
|
||||||
|
}
|
||||||
|
|
||||||
|
// data key present (even if null means query ran but returned nothing useful).
|
||||||
|
return array_key_exists('data', $decoded ?? []) ? $decoded['data'] : null;
|
||||||
|
}
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ function vv_watchdog_summary(): array {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Recent restarts (24 h)
|
// Recent restarts (24 h)
|
||||||
$restartLog = '/mnt/user/appdata/unraid_scripts/data/container_restart_history.db';
|
$restartLog = '/mnt/user/appdata/varaverk/data/container_restart_history.db';
|
||||||
$restartRaw = @file_get_contents($restartLog) ?: '';
|
$restartRaw = @file_get_contents($restartLog) ?: '';
|
||||||
$cutoff = time() - 86400;
|
$cutoff = time() - 86400;
|
||||||
$restarts = [];
|
$restarts = [];
|
||||||
|
|||||||
@@ -313,7 +313,7 @@ function vv_wd_all(): array {
|
|||||||
$currentHost = vv_detect_host();
|
$currentHost = vv_detect_host();
|
||||||
$tsPeers = vv_pt_ts_peers();
|
$tsPeers = vv_pt_ts_peers();
|
||||||
$masterRaw = vv_read_conf_raw('master.conf');
|
$masterRaw = vv_read_conf_raw('master.conf');
|
||||||
$restartLog = '/mnt/user/appdata/unraid_scripts/data/container_restart_history.db';
|
$restartLog = '/mnt/user/appdata/varaverk/data/container_restart_history.db';
|
||||||
|
|
||||||
// Config thresholds from master.conf
|
// Config thresholds from master.conf
|
||||||
$cfg = [
|
$cfg = [
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ Background: YES — required (starts continuous background processes)
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Orchestrators/array_started.sh
|
/mnt/user/appdata/varaverk/Orchestrators/array_started.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -133,7 +133,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Orchestrators/transcode_management.sh
|
/mnt/user/appdata/varaverk/Orchestrators/transcode_management.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -173,7 +173,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Orchestrators/critical_sync_maintenance.sh
|
/mnt/user/appdata/varaverk/Orchestrators/critical_sync_maintenance.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -206,7 +206,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Orchestrators/arrs_failed_stalled_recovery.sh
|
/mnt/user/appdata/varaverk/Orchestrators/arrs_failed_stalled_recovery.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -241,7 +241,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Orchestrators/daily_sync_maintenance.sh
|
/mnt/user/appdata/varaverk/Orchestrators/daily_sync_maintenance.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -308,7 +308,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Orchestrators/weekly_sync_maintenance.sh
|
/mnt/user/appdata/varaverk/Orchestrators/weekly_sync_maintenance.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -355,7 +355,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Orchestrators/sunday_morning_coffee_report.sh
|
/mnt/user/appdata/varaverk/Orchestrators/sunday_morning_coffee_report.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -402,7 +402,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Monitors/weekly_health_digest.sh
|
/mnt/user/appdata/varaverk/Monitors/weekly_health_digest.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -434,7 +434,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Monitors/system_tuning_monitor.sh
|
/mnt/user/appdata/varaverk/Monitors/system_tuning_monitor.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -466,7 +466,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Monitors/zfs_memory_snapshot.sh
|
/mnt/user/appdata/varaverk/Monitors/zfs_memory_snapshot.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -492,7 +492,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Monitors/smart_health.sh
|
/mnt/user/appdata/varaverk/Monitors/smart_health.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -523,7 +523,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Monitors/cert_monitor.sh
|
/mnt/user/appdata/varaverk/Monitors/cert_monitor.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -556,7 +556,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Monitors/backup_verify.sh
|
/mnt/user/appdata/varaverk/Monitors/backup_verify.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -590,7 +590,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Monitors/emby_session_report.sh
|
/mnt/user/appdata/varaverk/Monitors/emby_session_report.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -616,7 +616,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Monitors/bandwidth_monitor.sh --report
|
/mnt/user/appdata/varaverk/Monitors/bandwidth_monitor.sh --report
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -654,7 +654,7 @@ Background: NO (runs and exits — status check)
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Fallback/fallback.sh --status
|
/mnt/user/appdata/varaverk/Fallback/fallback.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -679,7 +679,7 @@ Background: YES — test takes several minutes
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Fallback/fallback_test.sh --dry-run
|
/mnt/user/appdata/varaverk/Fallback/fallback_test.sh --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -752,7 +752,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
/mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
/mnt/user/appdata-Fallback/Critical-Data
|
/mnt/user/appdata-Fallback/Critical-Data
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -773,7 +773,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
/mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
/mnt/user/Media_Server/Emby --profile=emby
|
/mnt/user/Media_Server/Emby --profile=emby
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -794,7 +794,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
/mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
/mnt/user/appdata-Fallback/Arrs_Stack
|
/mnt/user/appdata-Fallback/Arrs_Stack
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -815,7 +815,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
/mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
/mnt/user/appdata-Fallback/Important-Data
|
/mnt/user/appdata-Fallback/Important-Data
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -835,7 +835,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
/mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
/mnt/user/appdata-Fallback/Gmer4Lfe
|
/mnt/user/appdata-Fallback/Gmer4Lfe
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -867,7 +867,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Watchdogs/docker_watchdog.sh --status
|
/mnt/user/appdata/varaverk/Watchdogs/docker_watchdog.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it shows:**
|
**What it shows:**
|
||||||
@@ -888,7 +888,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Docker_Essentials/watchdog_skip_list_manager.sh --status
|
/mnt/user/appdata/varaverk/Docker_Essentials/watchdog_skip_list_manager.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -927,7 +927,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_daily_restart.sh --dry-run
|
/mnt/user/appdata/varaverk/Docker_Essentials/docker_daily_restart.sh --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -954,7 +954,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_network_connect.sh --status
|
/mnt/user/appdata/varaverk/Docker_Essentials/docker_network_connect.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -988,7 +988,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Media/media_shares_permissions.sh --dry-run
|
/mnt/user/appdata/varaverk/Media/media_shares_permissions.sh --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1014,7 +1014,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Media/media_cleaner.sh anime --dry-run
|
/mnt/user/appdata/varaverk/Media/media_cleaner.sh anime --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1035,7 +1035,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Media/media_cleaner.sh media --dry-run
|
/mnt/user/appdata/varaverk/Media/media_cleaner.sh media --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1055,7 +1055,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Media/lidarr_cleanup.sh --dry-run --log
|
/mnt/user/appdata/varaverk/Media/lidarr_cleanup.sh --dry-run --log
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1087,7 +1087,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Media/sonarr_cleanup.sh --dry-run --log
|
/mnt/user/appdata/varaverk/Media/sonarr_cleanup.sh --dry-run --log
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1108,7 +1108,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Media/radarr_cleanup.sh --dry-run --log
|
/mnt/user/appdata/varaverk/Media/radarr_cleanup.sh --dry-run --log
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1139,7 +1139,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Transcodes/ramdisk_setup.sh --status
|
/mnt/user/appdata/varaverk/Transcodes/ramdisk_setup.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it shows:**
|
**What it shows:**
|
||||||
@@ -1160,7 +1160,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Transcodes/transcode_manager.sh --status
|
/mnt/user/appdata/varaverk/Transcodes/transcode_manager.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it shows:**
|
**What it shows:**
|
||||||
@@ -1191,7 +1191,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Watchdogs/System/webgui_watchdog.sh
|
/mnt/user/appdata/varaverk/Watchdogs/System/webgui_watchdog.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1222,7 +1222,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/unRAID_Essentials/clear_logs.sh
|
/mnt/user/appdata/varaverk/unRAID_Essentials/clear_logs.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1249,7 +1249,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Watchdogs/stability_watchdog.sh --status
|
/mnt/user/appdata/varaverk/Watchdogs/stability_watchdog.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it shows:**
|
**What it shows:**
|
||||||
@@ -1270,7 +1270,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/unRAID_Essentials/mover_stop.sh
|
/mnt/user/appdata/varaverk/unRAID_Essentials/mover_stop.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1291,7 +1291,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/unRAID_Essentials/rsync_stop.sh --status
|
/mnt/user/appdata/varaverk/unRAID_Essentials/rsync_stop.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1313,7 +1313,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/unRAID_Essentials/user_scripts_stop.sh --status
|
/mnt/user/appdata/varaverk/unRAID_Essentials/user_scripts_stop.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1335,7 +1335,7 @@ Background: YES — sequence takes 1-2 minutes
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/unRAID_Essentials/server_reboot.sh --dry-run
|
/mnt/user/appdata/varaverk/unRAID_Essentials/server_reboot.sh --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1372,7 +1372,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Partnership/partnership_manage.sh --status
|
/mnt/user/appdata/varaverk/Partnership/partnership_manage.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it shows:**
|
**What it shows:**
|
||||||
@@ -1393,7 +1393,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Partnership/partnership_manage.sh --onboard --dry-run
|
/mnt/user/appdata/varaverk/Partnership/partnership_manage.sh --onboard --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1417,7 +1417,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Partnership/partnership_manage.sh --offboard --dry-run
|
/mnt/user/appdata/varaverk/Partnership/partnership_manage.sh --offboard --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1451,7 +1451,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Tools/bulk_permissions_repair.sh /mnt/user/Movies --dry-run
|
/mnt/user/appdata/varaverk/Tools/bulk_permissions_repair.sh /mnt/user/Movies --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1473,7 +1473,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Tools/container_data_export.sh \
|
/mnt/user/appdata/varaverk/Tools/container_data_export.sh \
|
||||||
Emby /mnt/media-servers/Media_Server/Emby /mnt/user/Backups/
|
Emby /mnt/media-servers/Media_Server/Emby /mnt/user/Backups/
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -1498,7 +1498,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Tools/emby_database_repair.sh
|
/mnt/user/appdata/varaverk/Tools/emby_database_repair.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1530,7 +1530,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Tools/zfs_pool_scrub.sh
|
/mnt/user/appdata/varaverk/Tools/zfs_pool_scrub.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1552,7 +1552,7 @@ Background: YES
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/Tools/recreate_shares.sh --dry-run
|
/mnt/user/appdata/varaverk/Tools/recreate_shares.sh --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
@@ -1580,7 +1580,7 @@ Background: NO
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
/mnt/user/appdata/unraid_scripts/unRAID_Essentials/git_pull_execute.sh
|
/mnt/user/appdata/varaverk/unRAID_Essentials/git_pull_execute.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
**What it does:**
|
**What it does:**
|
||||||
|
|||||||
@@ -474,7 +474,7 @@ Monitoring:
|
|||||||
## ━━━ FOLDER STRUCTURE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
## ━━━ FOLDER STRUCTURE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||||
|
|
||||||
```
|
```
|
||||||
Unraid_Scripts/
|
varaverk/
|
||||||
│
|
│
|
||||||
├── Configurations/ ← All configuration files — the only files you edit regularly
|
├── Configurations/ ← All configuration files — the only files you edit regularly
|
||||||
│ ├── master.conf ← Shared: thresholds, toggles, job lists, watchdog settings
|
│ ├── master.conf ← Shared: thresholds, toggles, job lists, watchdog settings
|
||||||
@@ -857,6 +857,6 @@ Things that are different from what you might expect:
|
|||||||
|
|
||||||
```
|
```
|
||||||
Name: Varaverk
|
Name: Varaverk
|
||||||
Repository: git@192.168.50.2:Varaverk/Unraid_Scripts.git
|
Repository: git@192.168.50.2:Varaverk/varaverk.git
|
||||||
Install path: /mnt/user/appdata/unraid_scripts
|
Install path: /mnt/user/appdata/varaverk
|
||||||
```
|
```
|
||||||
+25
-25
@@ -134,10 +134,10 @@ and updates `host*.conf` with the key path automatically.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# On HOST1 — after the repo is cloned:
|
# On HOST1 — after the repo is cloned:
|
||||||
bash /mnt/user/appdata/unraid_scripts/Partnership/ssh_setup.sh
|
bash /mnt/user/appdata/varaverk/Partnership/ssh_setup.sh
|
||||||
|
|
||||||
# On HOST2:
|
# On HOST2:
|
||||||
bash /mnt/user/appdata/unraid_scripts/Partnership/ssh_setup.sh
|
bash /mnt/user/appdata/varaverk/Partnership/ssh_setup.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
Key naming convention: hostname lowercased, `unraid-` prefix stripped.
|
Key naming convention: hostname lowercased, `unraid-` prefix stripped.
|
||||||
@@ -150,7 +150,7 @@ unRAID-Jayred365 → /root/.ssh/jayred365_rsync_automation
|
|||||||
generated key. Run `--status` to verify:
|
generated key. Run `--status` to verify:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bash /mnt/user/appdata/unraid_scripts/Partnership/ssh_setup.sh --status
|
bash /mnt/user/appdata/varaverk/Partnership/ssh_setup.sh --status
|
||||||
```
|
```
|
||||||
|
|
||||||
> **`ssh_setup.sh` is idempotent** — safe to re-run. Use `--force` to regenerate
|
> **`ssh_setup.sh` is idempotent** — safe to re-run. Use `--force` to regenerate
|
||||||
@@ -174,15 +174,15 @@ cat /root/.ssh/unraid_gitea.pub
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Create target directory:
|
# Create target directory:
|
||||||
mkdir -p /mnt/user/appdata/unraid_scripts
|
mkdir -p /mnt/user/appdata/varaverk
|
||||||
|
|
||||||
# Clone:
|
# Clone:
|
||||||
GIT_SSH_COMMAND="ssh -i /root/.ssh/unraid_gitea" \
|
GIT_SSH_COMMAND="ssh -i /root/.ssh/unraid_gitea" \
|
||||||
git clone git@YOUR_GITEA_HOST:FailedProxy/Unraid_Scripts.git \
|
git clone git@YOUR_GITEA_HOST:Varaverk/varaverk.git \
|
||||||
/mnt/user/appdata/unraid_scripts
|
/mnt/user/appdata/varaverk
|
||||||
|
|
||||||
# Make scripts executable:
|
# Make scripts executable:
|
||||||
find /mnt/user/appdata/unraid_scripts -name "*.sh" -exec chmod +x {} \;
|
find /mnt/user/appdata/varaverk -name "*.sh" -exec chmod +x {} \;
|
||||||
```
|
```
|
||||||
|
|
||||||
Expected structure after clone:
|
Expected structure after clone:
|
||||||
@@ -204,7 +204,7 @@ Docker_Essentials/
|
|||||||
## ━━━ STEP 5 — CONFIGURE MASTER.CONF ━━━
|
## ━━━ STEP 5 — CONFIGURE MASTER.CONF ━━━
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nano /mnt/user/appdata/unraid_scripts/master.conf
|
nano /mnt/user/appdata/varaverk/master.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
### Host Identity
|
### Host Identity
|
||||||
@@ -223,8 +223,8 @@ HOST2_SSH_KEY="/root/.ssh/Jayred365-rsync-key"
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
GITEA_CONTAINER="Gitea"
|
GITEA_CONTAINER="Gitea"
|
||||||
GITEA_REPO_PATH="FailedProxy/Unraid_Scripts.git"
|
GITEA_REPO_PATH="Varaverk/varaverk.git"
|
||||||
TARGET_DIR="/mnt/user/appdata/unraid_scripts"
|
TARGET_DIR="/mnt/user/appdata/varaverk"
|
||||||
GITEA_SSH_KEY="/root/.ssh/unraid_gitea"
|
GITEA_SSH_KEY="/root/.ssh/unraid_gitea"
|
||||||
SSH_PORT=221
|
SSH_PORT=221
|
||||||
```
|
```
|
||||||
@@ -274,8 +274,8 @@ to their unprefixed names. Scripts only ever reference the unprefixed name — t
|
|||||||
work identically on both servers.
|
work identically on both servers.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nano /mnt/user/appdata/unraid_scripts/host1.conf # on HOST1
|
nano /mnt/user/appdata/varaverk/host1.conf # on HOST1
|
||||||
nano /mnt/user/appdata/unraid_scripts/host2.conf # on HOST2
|
nano /mnt/user/appdata/varaverk/host2.conf # on HOST2
|
||||||
```
|
```
|
||||||
|
|
||||||
Every variable is documented in the conf files. Key values to set:
|
Every variable is documented in the conf files. Key values to set:
|
||||||
@@ -432,7 +432,7 @@ Individual scripts are never scheduled directly except the 30-minute Emby sync.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
bash /mnt/user/appdata/unraid_scripts/Orchestrators/array_started.sh
|
bash /mnt/user/appdata/varaverk/Orchestrators/array_started.sh
|
||||||
# Schedule: At Startup of Array
|
# Schedule: At Startup of Array
|
||||||
# Run as: Background Task
|
# Run as: Background Task
|
||||||
```
|
```
|
||||||
@@ -447,28 +447,28 @@ Watchdogs (resource, docker, system, stability) run separately via watchdog_orch
|
|||||||
```bash
|
```bash
|
||||||
# Every 30 minutes — Emby dirty sync:
|
# Every 30 minutes — Emby dirty sync:
|
||||||
*/30 * * * *
|
*/30 * * * *
|
||||||
bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
bash /mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
/mnt/user/Media_Server/Emby --profile=emby-fallback
|
/mnt/user/Media_Server/Emby --profile=emby-fallback
|
||||||
|
|
||||||
# Every 6 hours — failed import + stalled download recovery:
|
# Every 6 hours — failed import + stalled download recovery:
|
||||||
0 */6 * * *
|
0 */6 * * *
|
||||||
bash /mnt/user/appdata/unraid_scripts/Orchestrators/arrs_failed_stalled_recovery.sh
|
bash /mnt/user/appdata/varaverk/Orchestrators/arrs_failed_stalled_recovery.sh
|
||||||
|
|
||||||
# 1am daily — full maintenance window:
|
# 1am daily — full maintenance window:
|
||||||
0 1 * * *
|
0 1 * * *
|
||||||
bash /mnt/user/appdata/unraid_scripts/Orchestrators/daily_sync_maintenance.sh
|
bash /mnt/user/appdata/varaverk/Orchestrators/daily_sync_maintenance.sh
|
||||||
|
|
||||||
# 2:30am Sunday — weekly maintenance window:
|
# 2:30am Sunday — weekly maintenance window:
|
||||||
30 2 * * 0
|
30 2 * * 0
|
||||||
bash /mnt/user/appdata/unraid_scripts/Orchestrators/weekly_sync_maintenance.sh
|
bash /mnt/user/appdata/varaverk/Orchestrators/weekly_sync_maintenance.sh
|
||||||
|
|
||||||
# 8am daily — health digest:
|
# 8am daily — health digest:
|
||||||
0 8 * * *
|
0 8 * * *
|
||||||
bash /mnt/user/appdata/unraid_scripts/Monitors/weekly_health_digest.sh
|
bash /mnt/user/appdata/varaverk/Monitors/weekly_health_digest.sh
|
||||||
|
|
||||||
# Every 6 hours — inotify + php-fpm snapshot:
|
# Every 6 hours — inotify + php-fpm snapshot:
|
||||||
0 */6 * * *
|
0 */6 * * *
|
||||||
bash /mnt/user/appdata/unraid_scripts/Monitors/system_tuning_monitor.sh
|
bash /mnt/user/appdata/varaverk/Monitors/system_tuning_monitor.sh
|
||||||
|
|
||||||
# Sunday morning — weekly reports:
|
# Sunday morning — weekly reports:
|
||||||
0 6 * * 0 bash .../Monitors/zfs_memory_snapshot.sh
|
0 6 * * 0 bash .../Monitors/zfs_memory_snapshot.sh
|
||||||
@@ -491,7 +491,7 @@ Test with `--dry-run` first — all pre-flight checks run, no changes made.
|
|||||||
### Test a Single Profile Sync
|
### Test a Single Profile Sync
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
bash /mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
/mnt/user/appdata-Fallback/Arrs_Stack --dry-run --log
|
/mnt/user/appdata-Fallback/Arrs_Stack --dry-run --log
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -514,13 +514,13 @@ Expected output (healthy):
|
|||||||
### Test the Daily Orchestrator
|
### Test the Daily Orchestrator
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bash /mnt/user/appdata/unraid_scripts/Orchestrators/daily_sync_maintenance.sh --dry-run
|
bash /mnt/user/appdata/varaverk/Orchestrators/daily_sync_maintenance.sh --dry-run
|
||||||
```
|
```
|
||||||
|
|
||||||
### Check Configuration Resolution
|
### Check Configuration Resolution
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
bash /mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
/mnt/user/appdata-Fallback/Arrs_Stack --status
|
/mnt/user/appdata-Fallback/Arrs_Stack --status
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -532,10 +532,10 @@ If HOST2 is being set up from scratch with empty shares:
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Create share directories on HOST2:
|
# Create share directories on HOST2:
|
||||||
bash /mnt/user/appdata/unraid_scripts/Tools/recreate_shares.sh
|
bash /mnt/user/appdata/varaverk/Tools/recreate_shares.sh
|
||||||
|
|
||||||
# Initial push from HOST1 — first run may take several hours for large libraries:
|
# Initial push from HOST1 — first run may take several hours for large libraries:
|
||||||
bash /mnt/user/appdata/unraid_scripts/Orchestrators/daily_sync_maintenance.sh --log
|
bash /mnt/user/appdata/varaverk/Orchestrators/daily_sync_maintenance.sh --log
|
||||||
```
|
```
|
||||||
|
|
||||||
The scheduled nightly sync will be incremental after the initial push.
|
The scheduled nightly sync will be incremental after the initial push.
|
||||||
@@ -584,7 +584,7 @@ ssh -i /root/.ssh/gmer4lfe_rsync_automation \
|
|||||||
# If password prompted: key not authorised — re-run ssh_setup.sh
|
# If password prompted: key not authorised — re-run ssh_setup.sh
|
||||||
|
|
||||||
# Re-run setup (idempotent, re-copies key to remote):
|
# Re-run setup (idempotent, re-copies key to remote):
|
||||||
bash /mnt/user/appdata/unraid_scripts/Partnership/ssh_setup.sh
|
bash /mnt/user/appdata/varaverk/Partnership/ssh_setup.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### Pre-flight Aborts on Remote Rootfs
|
### Pre-flight Aborts on Remote Rootfs
|
||||||
|
|||||||
+1
-1
@@ -32,7 +32,7 @@
|
|||||||
#
|
#
|
||||||
# ── CONFIGURATION (master.conf) ───────────────────────────────────────────────────────────────
|
# ── CONFIGURATION (master.conf) ───────────────────────────────────────────────────────────────
|
||||||
# GITEA_CONTAINER — Docker container name for Gitea
|
# GITEA_CONTAINER — Docker container name for Gitea
|
||||||
# GITEA_REPO_PATH — repo path on Gitea (e.g. FailedProxy/Unraid_Scripts.git)
|
# GITEA_REPO_PATH — repo path on Gitea (e.g. Varaverk/varaverk.git)
|
||||||
# GITEA_DOMAIN — public domain fallback (optional)
|
# GITEA_DOMAIN — public domain fallback (optional)
|
||||||
# TARGET_DIR — local path to clone/pull into
|
# TARGET_DIR — local path to clone/pull into
|
||||||
# GITEA_SSH_KEY — SSH key for Gitea authentication
|
# GITEA_SSH_KEY — SSH key for Gitea authentication
|
||||||
|
|||||||
+228
-228
@@ -40,10 +40,10 @@
|
|||||||
# --log verbose output — every decision logged
|
# --log verbose output — every decision logged
|
||||||
#
|
#
|
||||||
# ── PATHS ─────────────────────────────────────────────────────────────────────────────────────
|
# ── PATHS ─────────────────────────────────────────────────────────────────────────────────────
|
||||||
# Scripts: /mnt/user/appdata/unraid_scripts/
|
# Scripts: /mnt/user/appdata/varaverk/
|
||||||
# Configuration: /mnt/user/appdata/unraid_scripts/master.conf
|
# Configuration: /mnt/user/appdata/varaverk/master.conf
|
||||||
# Per-host: /mnt/user/appdata/unraid_scripts/host1.conf (or host2.conf)
|
# Per-host: /mnt/user/appdata/varaverk/host1.conf (or host2.conf)
|
||||||
# Library: /mnt/user/appdata/unraid_scripts/common.sh
|
# Library: /mnt/user/appdata/varaverk/common.sh
|
||||||
#
|
#
|
||||||
# ── PLUGIN SETTINGS (apply to every entry) ────────────────────────────────────────────────────
|
# ── PLUGIN SETTINGS (apply to every entry) ────────────────────────────────────────────────────
|
||||||
# Run in background: YES — required for all scripts, even one-shots
|
# Run in background: YES — required for all scripts, even one-shots
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
# They are now single-pass scripts called every 15 minutes by watchdog_orchestrator.sh (see below).
|
# They are now single-pass scripts called every 15 minutes by watchdog_orchestrator.sh (see below).
|
||||||
# Remove them from ARRAY_START_SCRIPTS in master.conf if present.
|
# Remove them from ARRAY_START_SCRIPTS in master.conf if present.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/array_started.sh
|
# bash /mnt/user/appdata/varaverk/Orchestrators/array_started.sh
|
||||||
|
|
||||||
|
|
||||||
# ── ARRAY STOPPING ────────────────────────────────────────────────────────────────────────────
|
# ── ARRAY STOPPING ────────────────────────────────────────────────────────────────────────────
|
||||||
@@ -155,9 +155,9 @@
|
|||||||
# A failed step is logged and notified but does not prevent remaining steps from running.
|
# A failed step is logged and notified but does not prevent remaining steps from running.
|
||||||
# Unlike array_started.sh, all steps run in the foreground — each confirmed done before next.
|
# Unlike array_started.sh, all steps run in the foreground — each confirmed done before next.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/array_stopping.sh
|
# bash /mnt/user/appdata/varaverk/Orchestrators/array_stopping.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/array_stopping.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Orchestrators/array_stopping.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/array_stopping.sh --status
|
# bash /mnt/user/appdata/varaverk/Orchestrators/array_stopping.sh --status
|
||||||
|
|
||||||
|
|
||||||
# ── WATCHDOG ORCHESTRATOR ─────────────────────────────────────────────────────────────────────
|
# ── WATCHDOG ORCHESTRATOR ─────────────────────────────────────────────────────────────────────
|
||||||
@@ -182,9 +182,9 @@
|
|||||||
# Overlap protection: acquire_lock() exits immediately if a prior cycle is still running —
|
# Overlap protection: acquire_lock() exits immediately if a prior cycle is still running —
|
||||||
# prevents pile-up when a restart attempt or daemon check takes longer than 15 minutes.
|
# prevents pile-up when a restart attempt or daemon check takes longer than 15 minutes.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/watchdog_orchestrator.sh
|
# bash /mnt/user/appdata/varaverk/Orchestrators/watchdog_orchestrator.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/watchdog_orchestrator.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Orchestrators/watchdog_orchestrator.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/watchdog_orchestrator.sh --status
|
# bash /mnt/user/appdata/varaverk/Orchestrators/watchdog_orchestrator.sh --status
|
||||||
|
|
||||||
|
|
||||||
# ── TRANSCODE MANAGEMENT ──────────────────────────────────────────────────────────────────────
|
# ── TRANSCODE MANAGEMENT ──────────────────────────────────────────────────────────────────────
|
||||||
@@ -212,7 +212,7 @@
|
|||||||
# --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
|
# --mount type=bind,source=/mnt/ram-transcode,target=/ext-ram-transcode,bind-propagation=shared
|
||||||
# Without shared propagation, symlink flips are silently ignored after the first flip.
|
# Without shared propagation, symlink flips are silently ignored after the first flip.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/transcode_management.sh
|
# bash /mnt/user/appdata/varaverk/Orchestrators/transcode_management.sh
|
||||||
|
|
||||||
|
|
||||||
# ── CRITICAL SYNC MAINTENANCE ─────────────────────────────────────────────────────────────────
|
# ── CRITICAL SYNC MAINTENANCE ─────────────────────────────────────────────────────────────────
|
||||||
@@ -237,7 +237,7 @@
|
|||||||
#
|
#
|
||||||
# Silent on clean cycles: runs 48 times per day, no output when healthy.
|
# Silent on clean cycles: runs 48 times per day, no output when healthy.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/critical_sync_maintenance.sh
|
# bash /mnt/user/appdata/varaverk/Orchestrators/critical_sync_maintenance.sh
|
||||||
|
|
||||||
|
|
||||||
# ── INTERMEDIATE SYNC MAINTENANCE ────────────────────────────────────────────────────────────
|
# ── INTERMEDIATE SYNC MAINTENANCE ────────────────────────────────────────────────────────────
|
||||||
@@ -264,7 +264,7 @@
|
|||||||
#
|
#
|
||||||
# Silent on success — runs 6x/day, only failures produce notification.
|
# Silent on success — runs 6x/day, only failures produce notification.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/intermediate_sync_maintenance.sh
|
# bash /mnt/user/appdata/varaverk/Orchestrators/intermediate_sync_maintenance.sh
|
||||||
|
|
||||||
|
|
||||||
# ── DAILY SYNC MAINTENANCE ────────────────────────────────────────────────────────────────────
|
# ── DAILY SYNC MAINTENANCE ────────────────────────────────────────────────────────────────────
|
||||||
@@ -291,7 +291,7 @@
|
|||||||
#
|
#
|
||||||
# Notify: silent on success. One failure notification with job list on any failure.
|
# Notify: silent on success. One failure notification with job list on any failure.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/daily_sync_maintenance.sh
|
# bash /mnt/user/appdata/varaverk/Orchestrators/daily_sync_maintenance.sh
|
||||||
|
|
||||||
|
|
||||||
# ── RSYNC EMBY FALLBACK ───────────────────────────────────────────────────────────────────────
|
# ── RSYNC EMBY FALLBACK ───────────────────────────────────────────────────────────────────────
|
||||||
@@ -306,7 +306,7 @@
|
|||||||
# After: HOST2 Emby restarts to pick up any config changes from the sync.
|
# After: HOST2 Emby restarts to pick up any config changes from the sync.
|
||||||
# Result: if HOST1 fails, users resume from at most 30 minutes stale.
|
# Result: if HOST1 fails, users resume from at most 30 minutes stale.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
# /mnt/user/Media_Server/Emby --profile=emby-fallback
|
# /mnt/user/Media_Server/Emby --profile=emby-fallback
|
||||||
|
|
||||||
|
|
||||||
@@ -342,7 +342,7 @@
|
|||||||
# Nightly sync resets that cache — cold loads every morning. Weekly: cache warm 6 days,
|
# Nightly sync resets that cache — cold loads every morning. Weekly: cache warm 6 days,
|
||||||
# resets Sunday night while users sleep.
|
# resets Sunday night while users sleep.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/weekly_sync_maintenance.sh
|
# bash /mnt/user/appdata/varaverk/Orchestrators/weekly_sync_maintenance.sh
|
||||||
|
|
||||||
|
|
||||||
# ── MONTHLY MAINTENANCE ───────────────────────────────────────────────────────────────────────
|
# ── MONTHLY MAINTENANCE ───────────────────────────────────────────────────────────────────────
|
||||||
@@ -361,10 +361,10 @@
|
|||||||
# zfs_pool_scrub.sh ZFS pool integrity scrub (Tools/)
|
# zfs_pool_scrub.sh ZFS pool integrity scrub (Tools/)
|
||||||
# smart_long_test.sh SMART extended drive health test (Tools/)
|
# smart_long_test.sh SMART extended drive health test (Tools/)
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/monthly_maintenance.sh
|
# bash /mnt/user/appdata/varaverk/Orchestrators/monthly_maintenance.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/monthly_maintenance.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Orchestrators/monthly_maintenance.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/monthly_maintenance.sh --status
|
# bash /mnt/user/appdata/varaverk/Orchestrators/monthly_maintenance.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/monthly_maintenance.sh --force
|
# bash /mnt/user/appdata/varaverk/Orchestrators/monthly_maintenance.sh --force
|
||||||
|
|
||||||
|
|
||||||
# ── SUNDAY MORNING COFFEE REPORT ─────────────────────────────────────────────────────────────
|
# ── SUNDAY MORNING COFFEE REPORT ─────────────────────────────────────────────────────────────
|
||||||
@@ -388,7 +388,7 @@
|
|||||||
# Footer: ✅ enjoy your Sunday ☕ OR ⚠️ N issue(s) need attention
|
# Footer: ✅ enjoy your Sunday ☕ OR ⚠️ N issue(s) need attention
|
||||||
# Delivery: unRAID notification + Discord webhook (if DISCORD_WEBHOOK configured)
|
# Delivery: unRAID notification + Discord webhook (if DISCORD_WEBHOOK configured)
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Orchestrators/sunday_morning_coffee_report.sh
|
# bash /mnt/user/appdata/varaverk/Orchestrators/sunday_morning_coffee_report.sh
|
||||||
|
|
||||||
|
|
||||||
# ── WEEKLY HEALTH DIGEST ─────────────────────────────────────────────────────────────────────
|
# ── WEEKLY HEALTH DIGEST ─────────────────────────────────────────────────────────────────────
|
||||||
@@ -408,7 +408,7 @@
|
|||||||
# Data sources: fallback state, watchdog strike files, container skip list,
|
# Data sources: fallback state, watchdog strike files, container skip list,
|
||||||
# bandwidth log, transcode daily log, cert expiry (live openssl check)
|
# bandwidth log, transcode daily log, cert expiry (live openssl check)
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/weekly_health_digest.sh
|
# bash /mnt/user/appdata/varaverk/Monitors/weekly_health_digest.sh
|
||||||
|
|
||||||
|
|
||||||
# ── SYSTEM TUNING MONITOR ────────────────────────────────────────────────────────────────────
|
# ── SYSTEM TUNING MONITOR ────────────────────────────────────────────────────────────────────
|
||||||
@@ -427,7 +427,7 @@
|
|||||||
#
|
#
|
||||||
# Log: TUNING_MONITOR_LOG — bounded, trimmed to TUNING_LOG_RETENTION days on each write.
|
# Log: TUNING_MONITOR_LOG — bounded, trimmed to TUNING_LOG_RETENTION days on each write.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/system_tuning_monitor.sh
|
# bash /mnt/user/appdata/varaverk/Monitors/system_tuning_monitor.sh
|
||||||
|
|
||||||
|
|
||||||
# ── SUNDAY MONITOR BLOCK ─────────────────────────────────────────────────────────────────────
|
# ── SUNDAY MONITOR BLOCK ─────────────────────────────────────────────────────────────────────
|
||||||
@@ -478,9 +478,9 @@
|
|||||||
# DDNS: one domain, one DDNS container active at all times. Split-brain prevented by design.
|
# DDNS: one domain, one DDNS container active at all times. Split-brain prevented by design.
|
||||||
# Handback: stop remote DDNS → rsync writeback → start containers → start local DDNS.
|
# Handback: stop remote DDNS → rsync writeback → start containers → start local DDNS.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Fallback/fallback.sh
|
# bash /mnt/user/appdata/varaverk/Fallback/fallback.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Fallback/fallback.sh --status
|
# bash /mnt/user/appdata/varaverk/Fallback/fallback.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Fallback/fallback.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Fallback/fallback.sh --dry-run
|
||||||
|
|
||||||
# fallback_test.sh — controlled full-lifecycle fallback test using iptables simulation
|
# fallback_test.sh — controlled full-lifecycle fallback test using iptables simulation
|
||||||
# ALWAYS run --dry-run first. Live test starts/stops real containers — brief service interruption.
|
# ALWAYS run --dry-run first. Live test starts/stops real containers — brief service interruption.
|
||||||
@@ -491,8 +491,8 @@
|
|||||||
# FALLBACK_TEST_BLOCK_WAIT must be > FALLBACK_CHECK_INTERVAL + buffer (default: 150s).
|
# FALLBACK_TEST_BLOCK_WAIT must be > FALLBACK_CHECK_INTERVAL + buffer (default: 150s).
|
||||||
# FALLBACK_TEST_HANDBACK_WAIT must cover: strike confirmation + rsync + container start (default: 360s).
|
# FALLBACK_TEST_HANDBACK_WAIT must cover: strike confirmation + rsync + container start (default: 360s).
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Fallback/fallback_test.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Fallback/fallback_test.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Fallback/fallback_test.sh
|
# bash /mnt/user/appdata/varaverk/Fallback/fallback_test.sh
|
||||||
|
|
||||||
# fallback_state_reset.sh — reset fallback state file to NORMAL
|
# fallback_state_reset.sh — reset fallback state file to NORMAL
|
||||||
# Resets state file ONLY — does NOT start or stop any containers.
|
# Resets state file ONLY — does NOT start or stop any containers.
|
||||||
@@ -502,9 +502,9 @@
|
|||||||
# Verify before resetting: right containers on right server, DDNS correct,
|
# Verify before resetting: right containers on right server, DDNS correct,
|
||||||
# both servers Tailscale visible, fallback.sh not currently running.
|
# both servers Tailscale visible, fallback.sh not currently running.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/fallback_state_reset.sh --status
|
# bash /mnt/user/appdata/varaverk/Tools/fallback_state_reset.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/fallback_state_reset.sh
|
# bash /mnt/user/appdata/varaverk/Tools/fallback_state_reset.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/fallback_state_reset.sh --force
|
# bash /mnt/user/appdata/varaverk/Tools/fallback_state_reset.sh --force
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
@@ -526,23 +526,23 @@
|
|||||||
# emby-fallback nothing stopped (Emby stays running — dirty sync, WAL/SHM excluded)
|
# emby-fallback nothing stopped (Emby stays running — dirty sync, WAL/SHM excluded)
|
||||||
# [no profile] no containers stopped (media shares, plain data)
|
# [no profile] no containers stopped (media shares, plain data)
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
# /mnt/user/appdata-Fallback/Critical-Data
|
# /mnt/user/appdata-Fallback/Critical-Data
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
# /mnt/user/appdata-Fallback/Important-Data
|
# /mnt/user/appdata-Fallback/Important-Data
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
# /mnt/user/appdata-Fallback/Arrs_Stack
|
# /mnt/user/appdata-Fallback/Arrs_Stack
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
# /mnt/user/Media_Server/Emby --profile=emby
|
# /mnt/user/Media_Server/Emby --profile=emby
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
# /mnt/user/Media_Server/Emby --profile=emby-fallback
|
# /mnt/user/Media_Server/Emby --profile=emby-fallback
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh \
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh \
|
||||||
# /mnt/user/appdata-Fallback/Gmer4Lfe
|
# /mnt/user/appdata-Fallback/Gmer4Lfe
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Movies
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh /mnt/user/Movies
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Tv_Shows
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh /mnt/user/Tv_Shows
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Music
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh /mnt/user/Music
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Anime_Shows
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh /mnt/user/Anime_Shows
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Rsync/rsync.sh /mnt/user/Anime_Movies
|
# bash /mnt/user/appdata/varaverk/Rsync/rsync.sh /mnt/user/Anime_Movies
|
||||||
|
|
||||||
# rsync_stop.sh — stop rsync intelligently on local and remote
|
# rsync_stop.sh — stop rsync intelligently on local and remote
|
||||||
# Smart mode (default): kills rsync subprocess only, orchestrator exits cleanly,
|
# Smart mode (default): kills rsync subprocess only, orchestrator exits cleanly,
|
||||||
@@ -550,9 +550,9 @@
|
|||||||
# --full-stop: kills orchestrator first then rsync — emergency full stop.
|
# --full-stop: kills orchestrator first then rsync — emergency full stop.
|
||||||
# --rsync-only: stop rsync, skip container recovery check (used by partnership_manager --offboard).
|
# --rsync-only: stop rsync, skip container recovery check (used by partnership_manager --offboard).
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/rsync_stop.sh --status
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/rsync_stop.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/rsync_stop.sh
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/rsync_stop.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/rsync_stop.sh --full-stop
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/rsync_stop.sh --full-stop
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
@@ -581,8 +581,8 @@
|
|||||||
# RAM emergency: reads mem_shutdown_active from system_watchdog state file, defers all restarts
|
# RAM emergency: reads mem_shutdown_active from system_watchdog state file, defers all restarts
|
||||||
# Silent on clean cycles — only outputs events and hourly heartbeat
|
# Silent on clean cycles — only outputs events and hourly heartbeat
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/docker_watchdog.sh --status
|
# bash /mnt/user/appdata/varaverk/Watchdogs/docker_watchdog.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/docker_watchdog.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Watchdogs/docker_watchdog.sh --dry-run
|
||||||
|
|
||||||
# watchdog_skip_list_manager.sh — view and manage the container skip list
|
# watchdog_skip_list_manager.sh — view and manage the container skip list
|
||||||
# When docker_watchdog restarts the same container 3 times in 1hr → skip-listed.
|
# When docker_watchdog restarts the same container 3 times in 1hr → skip-listed.
|
||||||
@@ -597,11 +597,11 @@
|
|||||||
# docker start ContainerName → confirm fix works before handing back to watchdog
|
# docker start ContainerName → confirm fix works before handing back to watchdog
|
||||||
# watchdog resumes normal monitoring on next cycle automatically
|
# watchdog resumes normal monitoring on next cycle automatically
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/watchdog_skip_list_manager.sh --status
|
# bash /mnt/user/appdata/varaverk/Tools/watchdog_skip_list_manager.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/watchdog_skip_list_manager.sh --clear ContainerName
|
# bash /mnt/user/appdata/varaverk/Tools/watchdog_skip_list_manager.sh --clear ContainerName
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/watchdog_skip_list_manager.sh --clear ContainerName --force
|
# bash /mnt/user/appdata/varaverk/Tools/watchdog_skip_list_manager.sh --clear ContainerName --force
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/watchdog_skip_list_manager.sh --clear-all
|
# bash /mnt/user/appdata/varaverk/Tools/watchdog_skip_list_manager.sh --clear-all
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/watchdog_skip_list_manager.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Tools/watchdog_skip_list_manager.sh --dry-run
|
||||||
|
|
||||||
# docker_container_stop.sh — stop all running containers sequentially with verification
|
# docker_container_stop.sh — stop all running containers sequentially with verification
|
||||||
# Called by array_stopping.sh as the final step in the planned shutdown sequence.
|
# Called by array_stopping.sh as the final step in the planned shutdown sequence.
|
||||||
@@ -614,9 +614,9 @@
|
|||||||
# docker kill (SIGKILL) if all retries exhausted
|
# docker kill (SIGKILL) if all retries exhausted
|
||||||
# Notify on any container that cannot be stopped
|
# Notify on any container that cannot be stopped
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_container_stop.sh --status
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_container_stop.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_container_stop.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_container_stop.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_container_stop.sh
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_container_stop.sh
|
||||||
|
|
||||||
# docker_daily_restart.sh — restart degradation-prone containers nightly
|
# docker_daily_restart.sh — restart degradation-prone containers nightly
|
||||||
# Called by daily_sync_maintenance.sh. Also safe to run ad hoc.
|
# Called by daily_sync_maintenance.sh. Also safe to run ad hoc.
|
||||||
@@ -626,9 +626,9 @@
|
|||||||
# Configured via HOST*_DAILY_RESTART_CONTAINERS (host*.conf):
|
# Configured via HOST*_DAILY_RESTART_CONTAINERS (host*.conf):
|
||||||
# NginxProxyManager, Authelia, Dispatcharr, Dispatcharr-Basic, ErsatzTV-Emby
|
# NginxProxyManager, Authelia, Dispatcharr, Dispatcharr-Basic, ErsatzTV-Emby
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_daily_restart.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_daily_restart.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_daily_restart.sh --status
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_daily_restart.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_daily_restart.sh
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_daily_restart.sh
|
||||||
|
|
||||||
# docker_weekly_restart.sh — restart less-critical services weekly
|
# docker_weekly_restart.sh — restart less-critical services weekly
|
||||||
# Called by weekly_sync_maintenance.sh after sync completes and containers are back up.
|
# Called by weekly_sync_maintenance.sh after sync completes and containers are back up.
|
||||||
@@ -637,9 +637,9 @@
|
|||||||
# Configured via HOST*_WEEKLY_RESTART_CONTAINERS (host*.conf):
|
# Configured via HOST*_WEEKLY_RESTART_CONTAINERS (host*.conf):
|
||||||
# NextCloud, AdGuard-Home, Immich
|
# NextCloud, AdGuard-Home, Immich
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_weekly_restart.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_weekly_restart.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_weekly_restart.sh --status
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_weekly_restart.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_weekly_restart.sh
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_weekly_restart.sh
|
||||||
|
|
||||||
# docker_network_connect.sh — ensure custom networks exist and containers are connected
|
# docker_network_connect.sh — ensure custom networks exist and containers are connected
|
||||||
# Called by array_started.sh. Idempotent — silent when everything is already correct.
|
# Called by array_started.sh. Idempotent — silent when everything is already correct.
|
||||||
@@ -648,9 +648,9 @@
|
|||||||
# Configured via HOST*_NETWORK_CONNECT_NETWORKS and HOST*_NETWORK_CONNECT_CONTAINERS.
|
# Configured via HOST*_NETWORK_CONNECT_NETWORKS and HOST*_NETWORK_CONNECT_CONTAINERS.
|
||||||
# Use after unRAID updates when containers can't reach each other on custom networks.
|
# Use after unRAID updates when containers can't reach each other on custom networks.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_network_connect.sh --status
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_network_connect.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_network_connect.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_network_connect.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_network_connect.sh
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_network_connect.sh
|
||||||
|
|
||||||
# docker_update.sh — pull latest images for daily restart containers, no downtime
|
# docker_update.sh — pull latest images for daily restart containers, no downtime
|
||||||
# Called by daily_sync_maintenance.sh BEFORE docker_daily_restart.sh.
|
# Called by daily_sync_maintenance.sh BEFORE docker_daily_restart.sh.
|
||||||
@@ -659,9 +659,9 @@
|
|||||||
# Reports "updated" vs "already current" per container — useful to see what actually changed.
|
# Reports "updated" vs "already current" per container — useful to see what actually changed.
|
||||||
# Toggle: DAILY_CONTAINER_UPDATES=false in master.conf skips all pulls, restart still runs.
|
# Toggle: DAILY_CONTAINER_UPDATES=false in master.conf skips all pulls, restart still runs.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_update.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_update.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_update.sh --status
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_update.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_update.sh
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_update.sh
|
||||||
|
|
||||||
# docker_update_remaining.sh — pull latest images for all containers not in daily/weekly lists
|
# docker_update_remaining.sh — pull latest images for all containers not in daily/weekly lists
|
||||||
# Called by weekly_sync_maintenance.sh at the end of the Sunday window.
|
# Called by weekly_sync_maintenance.sh at the end of the Sunday window.
|
||||||
@@ -671,9 +671,9 @@
|
|||||||
# at least one image pull per week with no second list to maintain.
|
# at least one image pull per week with no second list to maintain.
|
||||||
# Toggle: WEEKLY_REMAINING_UPDATES=false in master.conf skips all pulls.
|
# Toggle: WEEKLY_REMAINING_UPDATES=false in master.conf skips all pulls.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_update_remaining.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_update_remaining.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_update_remaining.sh --status
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_update_remaining.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/docker_update_remaining.sh
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/docker_update_remaining.sh
|
||||||
|
|
||||||
# downloaders_reset.sh — maintenance reset for all download clients on this server
|
# downloaders_reset.sh — maintenance reset for all download clients on this server
|
||||||
# Called every 30 minutes by critical_sync_maintenance.sh via CRITICAL_MAINTENANCE_SCRIPTS.
|
# Called every 30 minutes by critical_sync_maintenance.sh via CRITICAL_MAINTENANCE_SCRIPTS.
|
||||||
@@ -692,9 +692,9 @@
|
|||||||
# Age failsafe — removes torrents older than QBIT_FAILSAFE_MIN_DAYS
|
# Age failsafe — removes torrents older than QBIT_FAILSAFE_MIN_DAYS
|
||||||
# deleteFiles=false — leaves files for arrs to manage
|
# deleteFiles=false — leaves files for arrs to manage
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/downloaders_reset.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/downloaders_reset.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/downloaders_reset.sh --status
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/downloaders_reset.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Docker_Essentials/downloaders_reset.sh
|
# bash /mnt/user/appdata/varaverk/Docker_Essentials/downloaders_reset.sh
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
@@ -726,8 +726,8 @@
|
|||||||
# Reboot loop protection: N reboots in X hours → shutdown instead.
|
# Reboot loop protection: N reboots in X hours → shutdown instead.
|
||||||
# State file heartbeat: writes watchdog_cycle=N every cycle (docker_watchdog stale guard).
|
# State file heartbeat: writes watchdog_cycle=N every cycle (docker_watchdog stale guard).
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/stability_watchdog.sh --status
|
# bash /mnt/user/appdata/varaverk/Watchdogs/stability_watchdog.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/stability_watchdog.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Watchdogs/stability_watchdog.sh --dry-run
|
||||||
|
|
||||||
# storage_watchdog.sh — pool growth + runaway log detection (single-pass, called by system_watchdog)
|
# storage_watchdog.sh — pool growth + runaway log detection (single-pass, called by system_watchdog)
|
||||||
# Part of SYSTEM_WATCHDOG_SCRIPTS — not scheduled directly. Called by system_watchdog.sh each cycle.
|
# Part of SYSTEM_WATCHDOG_SCRIPTS — not scheduled directly. Called by system_watchdog.sh each cycle.
|
||||||
@@ -745,8 +745,8 @@
|
|||||||
# WATCHDOG_APPDATA_TRUNCATE_LOGS=false → critical notify, hold strikes until resolved
|
# WATCHDOG_APPDATA_TRUNCATE_LOGS=false → critical notify, hold strikes until resolved
|
||||||
# Condition resolves (growth stops / log shrinks) → strikes auto-clear.
|
# Condition resolves (growth stops / log shrinks) → strikes auto-clear.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/System/storage_watchdog.sh --status
|
# bash /mnt/user/appdata/varaverk/Watchdogs/System/storage_watchdog.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/System/storage_watchdog.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Watchdogs/System/storage_watchdog.sh --dry-run
|
||||||
|
|
||||||
# network_watchdog.sh — internet + DDNS + Tailscale + NPM proxy checks (called by system_watchdog)
|
# network_watchdog.sh — internet + DDNS + Tailscale + NPM proxy checks (called by system_watchdog)
|
||||||
# Part of SYSTEM_WATCHDOG_SCRIPTS — not scheduled directly. Called by system_watchdog.sh each cycle.
|
# Part of SYSTEM_WATCHDOG_SCRIPTS — not scheduled directly. Called by system_watchdog.sh each cycle.
|
||||||
@@ -759,8 +759,8 @@
|
|||||||
# 2-strike system: Strike 1 = warn + notify. Strike 2 = restart NginxProxyManager + notify.
|
# 2-strike system: Strike 1 = warn + notify. Strike 2 = restart NginxProxyManager + notify.
|
||||||
# Strikes auto-clear when the external URL becomes reachable again.
|
# Strikes auto-clear when the external URL becomes reachable again.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/System/network_watchdog.sh --status
|
# bash /mnt/user/appdata/varaverk/Watchdogs/System/network_watchdog.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/System/network_watchdog.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Watchdogs/System/network_watchdog.sh --dry-run
|
||||||
|
|
||||||
# resource_watchdog.sh — three-level pressure reduction layer (single-pass, called by watchdog_orchestrator)
|
# resource_watchdog.sh — three-level pressure reduction layer (single-pass, called by watchdog_orchestrator)
|
||||||
# Reduces system load intelligently BEFORE docker_watchdog attempts container restarts.
|
# Reduces system load intelligently BEFORE docker_watchdog attempts container restarts.
|
||||||
@@ -776,9 +776,9 @@
|
|||||||
# Coordination: at Level 3 writes mem_shutdown_active=true → docker_watchdog defers all restarts.
|
# Coordination: at Level 3 writes mem_shutdown_active=true → docker_watchdog defers all restarts.
|
||||||
# HOST*_RW_PAUSE_CONTAINERS and HOST*_RW_STOP_CONTAINERS configured per host in host*.conf.
|
# HOST*_RW_PAUSE_CONTAINERS and HOST*_RW_STOP_CONTAINERS configured per host in host*.conf.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/resource_watchdog.sh --status
|
# bash /mnt/user/appdata/varaverk/Watchdogs/resource_watchdog.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/resource_watchdog.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Watchdogs/resource_watchdog.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/resource_watchdog.sh
|
# bash /mnt/user/appdata/varaverk/Watchdogs/resource_watchdog.sh
|
||||||
|
|
||||||
# inotify_tuning.sh — raise Linux inotify kernel limits at array start
|
# inotify_tuning.sh — raise Linux inotify kernel limits at array start
|
||||||
# Called by array_started.sh FIRST — must run before containers start (they inherit limits).
|
# Called by array_started.sh FIRST — must run before containers start (they inherit limits).
|
||||||
@@ -792,8 +792,8 @@
|
|||||||
# If Code-Server started before this ran → docker restart Code-Server to inherit new limits.
|
# If Code-Server started before this ran → docker restart Code-Server to inherit new limits.
|
||||||
# Exhaustion symptom: downloads complete but arrs don't detect them, Live TV stutters.
|
# Exhaustion symptom: downloads complete but arrs don't detect them, Live TV stutters.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/inotify_tuning.sh --status
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/inotify_tuning.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/inotify_tuning.sh
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/inotify_tuning.sh
|
||||||
|
|
||||||
# php_fpm_max_children.sh — set PHP-FPM pm.max_children at array start
|
# php_fpm_max_children.sh — set PHP-FPM pm.max_children at array start
|
||||||
# Called by array_started.sh. Default is 4-8 workers — inadequate for a busy multi-user server.
|
# Called by array_started.sh. Default is 4-8 workers — inadequate for a busy multi-user server.
|
||||||
@@ -801,8 +801,8 @@
|
|||||||
# Symptom of saturation: WebGUI slow, settings saves hang, container UI starts timeout.
|
# Symptom of saturation: WebGUI slow, settings saves hang, container UI starts timeout.
|
||||||
# Resets on each reboot — reapplied at array start. Idempotent: silent when already correct.
|
# Resets on each reboot — reapplied at array start. Idempotent: silent when already correct.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/php_fpm_max_children.sh --status
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/php_fpm_max_children.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/php_fpm_max_children.sh
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/php_fpm_max_children.sh
|
||||||
|
|
||||||
# docker_syslog_filter.sh — suppress Docker veth/docker0 interface log noise
|
# docker_syslog_filter.sh — suppress Docker veth/docker0 interface log noise
|
||||||
# Called by array_started.sh before containers start. Creates rsyslog drop rule.
|
# Called by array_started.sh before containers start. Creates rsyslog drop rule.
|
||||||
@@ -810,29 +810,29 @@
|
|||||||
# Real events (mount failures, permission errors) are invisible in that noise.
|
# Real events (mount failures, permission errors) are invisible in that noise.
|
||||||
# Idempotent: compares expected filter content exactly — only writes when changed.
|
# Idempotent: compares expected filter content exactly — only writes when changed.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/docker_syslog_filter.sh --status
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/docker_syslog_filter.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/docker_syslog_filter.sh
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/docker_syslog_filter.sh
|
||||||
|
|
||||||
# webgui_watchdog.sh — WebGUI availability watchdog (called by system_watchdog via SYSTEM_WATCHDOG_SCRIPTS)
|
# webgui_watchdog.sh — WebGUI availability watchdog (called by system_watchdog via SYSTEM_WATCHDOG_SCRIPTS)
|
||||||
# Not scheduled directly — runs as part of the every-15-minute watchdog chain.
|
# Not scheduled directly — runs as part of the every-15-minute watchdog chain.
|
||||||
# Escalation: nginx → php-fpm → emhttp, each with recheck before proceeding to next level.
|
# Escalation: nginx → php-fpm → emhttp, each with recheck before proceeding to next level.
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/System/webgui_watchdog.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Watchdogs/System/webgui_watchdog.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Watchdogs/System/webgui_watchdog.sh --status
|
# bash /mnt/user/appdata/varaverk/Watchdogs/System/webgui_watchdog.sh --status
|
||||||
|
|
||||||
# clear_logs.sh — size-threshold log cleanup (called by weekly_sync_maintenance via WEEKLY_MAINTENANCE_SCRIPTS)
|
# clear_logs.sh — size-threshold log cleanup (called by weekly_sync_maintenance via WEEKLY_MAINTENANCE_SCRIPTS)
|
||||||
# Not scheduled directly — runs as part of the Sunday 2:30am weekly window.
|
# Not scheduled directly — runs as part of the Sunday 2:30am weekly window.
|
||||||
# System logs only cleared if > LOG_MIN_SIZE_MB (10MB). Docker logs only if > LOG_DOCKER_MAX_MB (100MB).
|
# System logs only cleared if > LOG_MIN_SIZE_MB (10MB). Docker logs only if > LOG_DOCKER_MAX_MB (100MB).
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/clear_logs.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/clear_logs.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/clear_logs.sh --status
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/clear_logs.sh --status
|
||||||
|
|
||||||
# mover_stop.sh — stop unRAID mover cleanly before array operations
|
# mover_stop.sh — stop unRAID mover cleanly before array operations
|
||||||
# Wall message to logged-in users. Waits MOVER_STOP_TIMEOUT seconds.
|
# Wall message to logged-in users. Waits MOVER_STOP_TIMEOUT seconds.
|
||||||
# SIGTERM (allows mover to finish current file — no partial files). Verify. SIGKILL last resort.
|
# SIGTERM (allows mover to finish current file — no partial files). Verify. SIGKILL last resort.
|
||||||
# Use before: planned reboots with mover running, disk replacement, array maintenance.
|
# Use before: planned reboots with mover running, disk replacement, array maintenance.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/mover_stop.sh --status
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/mover_stop.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/mover_stop.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/mover_stop.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/mover_stop.sh
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/mover_stop.sh
|
||||||
|
|
||||||
# server_reboot.sh — graceful reboot with pre-flight warnings and clean shutdown sequence
|
# server_reboot.sh — graceful reboot with pre-flight warnings and clean shutdown sequence
|
||||||
# Pre-flight warnings (inform not block): rsync running, mover running, active Emby sessions.
|
# Pre-flight warnings (inform not block): rsync running, mover running, active Emby sessions.
|
||||||
@@ -840,9 +840,9 @@
|
|||||||
# → wait REBOOT_VM_WAIT → stop libvirt → stop Docker → sync → /sbin/reboot
|
# → wait REBOOT_VM_WAIT → stop libvirt → stop Docker → sync → /sbin/reboot
|
||||||
# --dry-run walks the full sequence without rebooting — shows all active processes.
|
# --dry-run walks the full sequence without rebooting — shows all active processes.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/server_reboot.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/server_reboot.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/server_reboot.sh --status
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/server_reboot.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/server_reboot.sh
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/server_reboot.sh
|
||||||
|
|
||||||
# user_scripts_stop.sh — stop all running User Script processes
|
# user_scripts_stop.sh — stop all running User Script processes
|
||||||
# Finds processes by /tmp/user.scripts path signature. Shows script names, not just PIDs.
|
# Finds processes by /tmp/user.scripts path signature. Shows script names, not just PIDs.
|
||||||
@@ -850,15 +850,15 @@
|
|||||||
# Use when plugin Abort button didn't work, or before a reboot to clean up running scripts.
|
# Use when plugin Abort button didn't work, or before a reboot to clean up running scripts.
|
||||||
# Called automatically by server_reboot.sh before reboot.
|
# Called automatically by server_reboot.sh before reboot.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/user_scripts_stop.sh --status
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/user_scripts_stop.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/user_scripts_stop.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/user_scripts_stop.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/unRAID_Essentials/user_scripts_stop.sh
|
# bash /mnt/user/appdata/varaverk/unRAID_Essentials/user_scripts_stop.sh
|
||||||
|
|
||||||
# git_pull_execute.sh — pull latest scripts from Gitea and set execute permissions
|
# git_pull_execute.sh — pull latest scripts from Gitea and set execute permissions
|
||||||
# Deployment mechanism for the ecosystem. Push from VS Code → Gitea → run on both servers.
|
# Deployment mechanism for the ecosystem. Push from VS Code → Gitea → run on both servers.
|
||||||
# Called automatically by daily_sync_maintenance.sh as the first job in the daily window.
|
# Called automatically by daily_sync_maintenance.sh as the first job in the daily window.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/git_pull_execute.sh
|
# bash /mnt/user/appdata/varaverk/git_pull_execute.sh
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
@@ -880,9 +880,9 @@
|
|||||||
# rsync without --chown flag, admin copies directly into share.
|
# rsync without --chown flag, admin copies directly into share.
|
||||||
# Correct PUID/PGID in Docker template env vars is the permanent fix — this is the safety net.
|
# Correct PUID/PGID in Docker template env vars is the permanent fix — this is the safety net.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/media_shares_permissions.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Media/media_shares_permissions.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/media_shares_permissions.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/media_shares_permissions.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/media_shares_permissions.sh
|
# bash /mnt/user/appdata/varaverk/Media/media_shares_permissions.sh
|
||||||
|
|
||||||
# media_cleaner.sh — remove scene junk files from media share folders
|
# media_cleaner.sh — remove scene junk files from media share folders
|
||||||
# Run BEFORE arr cleanup — removes non-media files that would otherwise appear as orphans.
|
# Run BEFORE arr cleanup — removes non-media files that would otherwise appear as orphans.
|
||||||
@@ -893,10 +893,10 @@
|
|||||||
# media HOST*_MEDIA_CLEAN_FOLDERS — Movies, Tv_Shows, Music, Sports etc.
|
# media HOST*_MEDIA_CLEAN_FOLDERS — Movies, Tv_Shows, Music, Sports etc.
|
||||||
# ALWAYS --dry-run when adding new patterns or folders — verify before committing.
|
# ALWAYS --dry-run when adding new patterns or folders — verify before committing.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/media_cleaner.sh anime --dry-run
|
# bash /mnt/user/appdata/varaverk/Media/media_cleaner.sh anime --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/media_cleaner.sh media --dry-run
|
# bash /mnt/user/appdata/varaverk/Media/media_cleaner.sh media --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/media_cleaner.sh anime
|
# bash /mnt/user/appdata/varaverk/Media/media_cleaner.sh anime
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/media_cleaner.sh media
|
# bash /mnt/user/appdata/varaverk/Media/media_cleaner.sh media
|
||||||
|
|
||||||
# lidarr_cleanup.sh — delete orphaned music files not tracked by Lidarr
|
# lidarr_cleanup.sh — delete orphaned music files not tracked by Lidarr
|
||||||
# HOST1 ONLY — HOST1 owns /mnt/user/Music and runs Lidarr. Exits cleanly on HOST2.
|
# HOST1 ONLY — HOST1 owns /mnt/user/Music and runs Lidarr. Exits cleanly on HOST2.
|
||||||
@@ -919,9 +919,9 @@
|
|||||||
# NUCLEAR MODE (use with full understanding): --i-know-what-im-doing --skip-strike-list
|
# NUCLEAR MODE (use with full understanding): --i-know-what-im-doing --skip-strike-list
|
||||||
# Both flags: age check bypassed + size gate bypassed. Deletes everything not tracked.
|
# Both flags: age check bypassed + size gate bypassed. Deletes everything not tracked.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/lidarr_cleanup.sh --dry-run --log
|
# bash /mnt/user/appdata/varaverk/Media/lidarr_cleanup.sh --dry-run --log
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/lidarr_cleanup.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/lidarr_cleanup.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/lidarr_cleanup.sh
|
# bash /mnt/user/appdata/varaverk/Media/lidarr_cleanup.sh
|
||||||
|
|
||||||
# sonarr_cleanup.sh — delete orphaned TV files not tracked by Sonarr
|
# sonarr_cleanup.sh — delete orphaned TV files not tracked by Sonarr
|
||||||
# HOST-AWARE: HOST1 manages Tv_Shows (via HOST1_SONARR_TV_ROOT).
|
# HOST-AWARE: HOST1 manages Tv_Shows (via HOST1_SONARR_TV_ROOT).
|
||||||
@@ -931,9 +931,9 @@
|
|||||||
# Protected: *.jpg *.png (episode/show artwork), *.nfo, *.srt *.sub *.ass *.ssa (Bazarr subtitles)
|
# Protected: *.jpg *.png (episode/show artwork), *.nfo, *.srt *.sub *.ass *.ssa (Bazarr subtitles)
|
||||||
# After deletion: notify_emby_scan() clears ghost entries from Emby library immediately.
|
# After deletion: notify_emby_scan() clears ghost entries from Emby library immediately.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/sonarr_cleanup.sh --dry-run --log
|
# bash /mnt/user/appdata/varaverk/Media/sonarr_cleanup.sh --dry-run --log
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/sonarr_cleanup.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/sonarr_cleanup.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/sonarr_cleanup.sh
|
# bash /mnt/user/appdata/varaverk/Media/sonarr_cleanup.sh
|
||||||
|
|
||||||
# radarr_cleanup.sh — delete orphaned movie files not tracked by Radarr
|
# radarr_cleanup.sh — delete orphaned movie files not tracked by Radarr
|
||||||
# HOST-AWARE: HOST1 manages Movies (via HOST1_RADARR_MOVIES_ROOT).
|
# HOST-AWARE: HOST1 manages Movies (via HOST1_RADARR_MOVIES_ROOT).
|
||||||
@@ -942,9 +942,9 @@
|
|||||||
# Protected: *.jpg *.png (movie artwork, fanart, thumbnails), *.nfo, subtitles
|
# Protected: *.jpg *.png (movie artwork, fanart, thumbnails), *.nfo, subtitles
|
||||||
# After deletion: notify_emby_scan() clears ghost entries from Emby library immediately.
|
# After deletion: notify_emby_scan() clears ghost entries from Emby library immediately.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/radarr_cleanup.sh --dry-run --log
|
# bash /mnt/user/appdata/varaverk/Media/radarr_cleanup.sh --dry-run --log
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/radarr_cleanup.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/radarr_cleanup.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/radarr_cleanup.sh
|
# bash /mnt/user/appdata/varaverk/Media/radarr_cleanup.sh
|
||||||
|
|
||||||
# arr_sync.sh — bidirectional arr library sync across all nodes in the ecosystem
|
# arr_sync.sh — bidirectional arr library sync across all nodes in the ecosystem
|
||||||
# Called by intermediate_sync_maintenance.sh every 4 hours. Can be run standalone.
|
# Called by intermediate_sync_maintenance.sh every 4 hours. Can be run standalone.
|
||||||
@@ -960,48 +960,48 @@
|
|||||||
# --blocklist-add does three things: tombstones, deletes local, deletes all remotes via SSH.
|
# --blocklist-add does three things: tombstones, deletes local, deletes all remotes via SSH.
|
||||||
# Files become orphans on all nodes — arr_cleanup.sh removes them on next run.
|
# Files become orphans on all nodes — arr_cleanup.sh removes them on next run.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/arr_sync.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Media/arr_sync.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/arr_sync.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/arr_sync.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/arr_sync.sh
|
# bash /mnt/user/appdata/varaverk/Media/arr_sync.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/arr_sync.sh --blocklist-add radarr <tmdbId> "reason"
|
# bash /mnt/user/appdata/varaverk/Media/arr_sync.sh --blocklist-add radarr <tmdbId> "reason"
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/arr_sync.sh --blocklist-add sonarr <tvdbId> "reason"
|
# bash /mnt/user/appdata/varaverk/Media/arr_sync.sh --blocklist-add sonarr <tvdbId> "reason"
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/arr_sync.sh --blocklist-add lidarr <mbid> "reason"
|
# bash /mnt/user/appdata/varaverk/Media/arr_sync.sh --blocklist-add lidarr <mbid> "reason"
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/arr_sync.sh --blocklist-remove radarr <id>
|
# bash /mnt/user/appdata/varaverk/Media/arr_sync.sh --blocklist-remove radarr <id>
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/arr_sync.sh --blocklist-list
|
# bash /mnt/user/appdata/varaverk/Media/arr_sync.sh --blocklist-list
|
||||||
|
|
||||||
# arrs_failed_stalled_recovery.sh — blocklist + re-search failed/stalled arr imports
|
# arrs_failed_stalled_recovery.sh — blocklist + re-search failed/stalled arr imports
|
||||||
# Called every 4 hours by intermediate_sync_maintenance.sh via INTERMEDIATE_MAINTENANCE_SCRIPTS.
|
# Called every 4 hours by intermediate_sync_maintenance.sh via INTERMEDIATE_MAINTENANCE_SCRIPTS.
|
||||||
# Finds importFailed / importPending / error / stalled items across all configured arrs.
|
# Finds importFailed / importPending / error / stalled items across all configured arrs.
|
||||||
# Age gate: items newer than ARR_IMPORT_RECOVERY_AGE (6hr) are skipped — arr may still self-retry.
|
# Age gate: items newer than ARR_IMPORT_RECOVERY_AGE (6hr) are skipped — arr may still self-retry.
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/arrs_failed_stalled_recovery.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Media/arrs_failed_stalled_recovery.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/arrs_failed_stalled_recovery.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/arrs_failed_stalled_recovery.sh --status
|
||||||
|
|
||||||
# playback_aware_lidarr_discovery.sh — behavior-driven music discovery (runs via WEEKLY_MAINTENANCE_SCRIPTS)
|
# playback_aware_lidarr_discovery.sh — behavior-driven music discovery (runs via WEEKLY_MAINTENANCE_SCRIPTS)
|
||||||
# Called by weekly_sync_maintenance.sh on Sunday. Can be run standalone.
|
# Called by weekly_sync_maintenance.sh on Sunday. Can be run standalone.
|
||||||
# Stage 1: score artists you actually played this week in Emby (play count + recency + user diversity).
|
# Stage 1: score artists you actually played this week in Emby (play count + recency + user diversity).
|
||||||
# Stage 2: run Last.fm artist.getSimilar on top seeds, score recommendations, add top results to Lidarr.
|
# Stage 2: run Last.fm artist.getSimilar on top seeds, score recommendations, add top results to Lidarr.
|
||||||
# Goal: 0–5 meaningful adds per run. Not bulk import — only artists likely to match your taste.
|
# Goal: 0–5 meaningful adds per run. Not bulk import — only artists likely to match your taste.
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/playback_aware_lidarr_discovery.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Media/playback_aware_lidarr_discovery.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/playback_aware_lidarr_discovery.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/playback_aware_lidarr_discovery.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/playback_aware_lidarr_discovery.sh
|
# bash /mnt/user/appdata/varaverk/Media/playback_aware_lidarr_discovery.sh
|
||||||
|
|
||||||
# playback_aware_radarr_discovery.sh — behavior-driven movie discovery (runs via WEEKLY_MAINTENANCE_SCRIPTS)
|
# playback_aware_radarr_discovery.sh — behavior-driven movie discovery (runs via WEEKLY_MAINTENANCE_SCRIPTS)
|
||||||
# Called by weekly_sync_maintenance.sh on Sunday. Can be run standalone.
|
# Called by weekly_sync_maintenance.sh on Sunday. Can be run standalone.
|
||||||
# Stage 1: score recently watched movies in Emby, weighted by recency and TMDB rating.
|
# Stage 1: score recently watched movies in Emby, weighted by recency and TMDB rating.
|
||||||
# Stage 2: run TMDB recommendations on top seeds, score candidates, add top results to Radarr.
|
# Stage 2: run TMDB recommendations on top seeds, score candidates, add top results to Radarr.
|
||||||
# Goal: 0–5 meaningful adds per run.
|
# Goal: 0–5 meaningful adds per run.
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/playback_aware_radarr_discovery.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Media/playback_aware_radarr_discovery.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/playback_aware_radarr_discovery.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/playback_aware_radarr_discovery.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/playback_aware_radarr_discovery.sh
|
# bash /mnt/user/appdata/varaverk/Media/playback_aware_radarr_discovery.sh
|
||||||
|
|
||||||
# playback_aware_sonarr_discovery.sh — behavior-driven TV discovery (runs via WEEKLY_MAINTENANCE_SCRIPTS)
|
# playback_aware_sonarr_discovery.sh — behavior-driven TV discovery (runs via WEEKLY_MAINTENANCE_SCRIPTS)
|
||||||
# Called by weekly_sync_maintenance.sh on Sunday. Can be run standalone.
|
# Called by weekly_sync_maintenance.sh on Sunday. Can be run standalone.
|
||||||
# Stage 1: score recently watched series in Emby (user diversity + recency + per-user-capped episodes).
|
# Stage 1: score recently watched series in Emby (user diversity + recency + per-user-capped episodes).
|
||||||
# Stage 2: run TMDB TV recommendations on top seeds, score candidates, add top results to Sonarr.
|
# Stage 2: run TMDB TV recommendations on top seeds, score candidates, add top results to Sonarr.
|
||||||
# Goal: 0–3 meaningful adds per run.
|
# Goal: 0–3 meaningful adds per run.
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/playback_aware_sonarr_discovery.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Media/playback_aware_sonarr_discovery.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/playback_aware_sonarr_discovery.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/playback_aware_sonarr_discovery.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/playback_aware_sonarr_discovery.sh
|
# bash /mnt/user/appdata/varaverk/Media/playback_aware_sonarr_discovery.sh
|
||||||
|
|
||||||
# lidarr_missing_art.sh — fetch missing album and artist artwork for the Lidarr music library
|
# lidarr_missing_art.sh — fetch missing album and artist artwork for the Lidarr music library
|
||||||
# Called by intermediate_sync_maintenance.sh via INTERMEDIATE_MAINTENANCE_SCRIPTS.
|
# Called by intermediate_sync_maintenance.sh via INTERMEDIATE_MAINTENANCE_SCRIPTS.
|
||||||
@@ -1014,9 +1014,9 @@
|
|||||||
# Artist: folder.jpg fanart.jpg logo.png banner.jpg
|
# Artist: folder.jpg fanart.jpg logo.png banner.jpg
|
||||||
# Sources: fanart.tv → iTunes (album) / Deezer / Last.fm (artist) fallbacks
|
# Sources: fanart.tv → iTunes (album) / Deezer / Last.fm (artist) fallbacks
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/lidarr_missing_art.sh --dry-run --log
|
# bash /mnt/user/appdata/varaverk/Media/lidarr_missing_art.sh --dry-run --log
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/lidarr_missing_art.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/lidarr_missing_art.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/lidarr_missing_art.sh
|
# bash /mnt/user/appdata/varaverk/Media/lidarr_missing_art.sh
|
||||||
|
|
||||||
# radarr_tmdb_removed.sh — remove movies dropped from TMDb (status="deleted")
|
# radarr_tmdb_removed.sh — remove movies dropped from TMDb (status="deleted")
|
||||||
# These generate Radarr system health errors and can never be monitored or downloaded.
|
# These generate Radarr system health errors and can never be monitored or downloaded.
|
||||||
@@ -1025,20 +1025,20 @@
|
|||||||
# Import exclusion added by default — prevents Radarr re-adding the same dropped movie.
|
# Import exclusion added by default — prevents Radarr re-adding the same dropped movie.
|
||||||
# HOST1 only — exits cleanly on HOST2.
|
# HOST1 only — exits cleanly on HOST2.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/radarr_tmdb_removed.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Media/radarr_tmdb_removed.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/radarr_tmdb_removed.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/radarr_tmdb_removed.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/radarr_tmdb_removed.sh
|
# bash /mnt/user/appdata/varaverk/Media/radarr_tmdb_removed.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/radarr_tmdb_removed.sh --delete-files
|
# bash /mnt/user/appdata/varaverk/Media/radarr_tmdb_removed.sh --delete-files
|
||||||
|
|
||||||
# sonarr_tvdb_removed.sh — remove series dropped from TVDB (status="deleted")
|
# sonarr_tvdb_removed.sh — remove series dropped from TVDB (status="deleted")
|
||||||
# Same pattern as radarr_tmdb_removed: Sonarr health errors, can't be monitored.
|
# Same pattern as radarr_tmdb_removed: Sonarr health errors, can't be monitored.
|
||||||
# Files NOT deleted by default — use --delete-files to also remove from disk.
|
# Files NOT deleted by default — use --delete-files to also remove from disk.
|
||||||
# Import exclusion added by default. HOST1 only.
|
# Import exclusion added by default. HOST1 only.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/sonarr_tvdb_removed.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Media/sonarr_tvdb_removed.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/sonarr_tvdb_removed.sh --status
|
# bash /mnt/user/appdata/varaverk/Media/sonarr_tvdb_removed.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/sonarr_tvdb_removed.sh
|
# bash /mnt/user/appdata/varaverk/Media/sonarr_tvdb_removed.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Media/sonarr_tvdb_removed.sh --delete-files
|
# bash /mnt/user/appdata/varaverk/Media/sonarr_tvdb_removed.sh --delete-files
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
@@ -1066,9 +1066,9 @@
|
|||||||
# readlink /mnt/ram-transcode should show /mnt/ramdisk_transcodes
|
# readlink /mnt/ram-transcode should show /mnt/ramdisk_transcodes
|
||||||
# ls /mnt/ramdisk_transcodes/ should show transcoding-temp/
|
# ls /mnt/ramdisk_transcodes/ should show transcoding-temp/
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Transcodes/ramdisk_setup.sh --status
|
# bash /mnt/user/appdata/varaverk/Transcodes/ramdisk_setup.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Transcodes/ramdisk_setup.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Transcodes/ramdisk_setup.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Transcodes/ramdisk_setup.sh
|
# bash /mnt/user/appdata/varaverk/Transcodes/ramdisk_setup.sh
|
||||||
|
|
||||||
# transcode_manager.sh — manage ramdisk/SSD symlink based on current usage
|
# transcode_manager.sh — manage ramdisk/SSD symlink based on current usage
|
||||||
# Called by transcode_management.sh AFTER cleanup. Can be run standalone for testing.
|
# Called by transcode_management.sh AFTER cleanup. Can be run standalone for testing.
|
||||||
@@ -1087,9 +1087,9 @@
|
|||||||
# Multi-server: TRANSCODE_SERVERS array supports Emby, Jellyfin, Plex
|
# Multi-server: TRANSCODE_SERVERS array supports Emby, Jellyfin, Plex
|
||||||
# DO NOT add Tdarr here — full-file encoding fills ramdisk rapidly.
|
# DO NOT add Tdarr here — full-file encoding fills ramdisk rapidly.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Transcodes/transcode_manager.sh --status
|
# bash /mnt/user/appdata/varaverk/Transcodes/transcode_manager.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Transcodes/transcode_manager.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Transcodes/transcode_manager.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Transcodes/transcode_manager.sh
|
# bash /mnt/user/appdata/varaverk/Transcodes/transcode_manager.sh
|
||||||
|
|
||||||
# transcode_cleanup.sh — remove stale HLS segment files from ramdisk and SSD fallback
|
# transcode_cleanup.sh — remove stale HLS segment files from ramdisk and SSD fallback
|
||||||
# Called by transcode_management.sh BEFORE transcode_manager.sh (order critical).
|
# Called by transcode_management.sh BEFORE transcode_manager.sh (order critical).
|
||||||
@@ -1098,8 +1098,8 @@
|
|||||||
# transcoding-temp directory NEVER deleted even when empty — protects against SSD session drift.
|
# transcoding-temp directory NEVER deleted even when empty — protects against SSD session drift.
|
||||||
# After cleanup: if ramdisk usage dropped below RAMDISK_LOW_GB, triggers flip-back to ramdisk.
|
# After cleanup: if ramdisk usage dropped below RAMDISK_LOW_GB, triggers flip-back to ramdisk.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Transcodes/transcode_cleanup.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Transcodes/transcode_cleanup.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Transcodes/transcode_cleanup.sh
|
# bash /mnt/user/appdata/varaverk/Transcodes/transcode_cleanup.sh
|
||||||
|
|
||||||
# ramdisk_stop.sh — safely stop the transcode ramdisk without interrupting Emby
|
# ramdisk_stop.sh — safely stop the transcode ramdisk without interrupting Emby
|
||||||
# Flips the transcode symlink to the SSD fallback BEFORE unmounting so Emby continues writing.
|
# Flips the transcode symlink to the SSD fallback BEFORE unmounting so Emby continues writing.
|
||||||
@@ -1107,9 +1107,9 @@
|
|||||||
# Use before: planned reboots, ramdisk size changes, ramdisk troubleshooting.
|
# Use before: planned reboots, ramdisk size changes, ramdisk troubleshooting.
|
||||||
# ramdisk_setup.sh recreates and re-mounts on next array start.
|
# ramdisk_setup.sh recreates and re-mounts on next array start.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/ramdisk_stop.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Tools/ramdisk_stop.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/ramdisk_stop.sh --status
|
# bash /mnt/user/appdata/varaverk/Tools/ramdisk_stop.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/ramdisk_stop.sh
|
# bash /mnt/user/appdata/varaverk/Tools/ramdisk_stop.sh
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
@@ -1129,9 +1129,9 @@
|
|||||||
# Kernel pressure: vmstat 3-sample snapshot.
|
# Kernel pressure: vmstat 3-sample snapshot.
|
||||||
# Output: console + /var/log/zfs-weekly-health.log (enables week-over-week comparison).
|
# Output: console + /var/log/zfs-weekly-health.log (enables week-over-week comparison).
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/zfs_memory_snapshot.sh --status
|
# bash /mnt/user/appdata/varaverk/Monitors/zfs_memory_snapshot.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/zfs_memory_snapshot.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Monitors/zfs_memory_snapshot.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/zfs_memory_snapshot.sh
|
# bash /mnt/user/appdata/varaverk/Monitors/zfs_memory_snapshot.sh
|
||||||
|
|
||||||
# smart_health.sh — drive SMART attribute monitoring
|
# smart_health.sh — drive SMART attribute monitoring
|
||||||
# Checks every /dev/sd* and /dev/nvme*. Drives in HOST*_SMART_IGNORE_DRIVES are skipped.
|
# Checks every /dev/sd* and /dev/nvme*. Drives in HOST*_SMART_IGNORE_DRIVES are skipped.
|
||||||
@@ -1141,9 +1141,9 @@
|
|||||||
# temperature above thresholds, SMART overall-health FAILED (get data off immediately).
|
# temperature above thresholds, SMART overall-health FAILED (get data off immediately).
|
||||||
# Silent when all drives pass all checks.
|
# Silent when all drives pass all checks.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/smart_health.sh --status
|
# bash /mnt/user/appdata/varaverk/Monitors/smart_health.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/smart_health.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Monitors/smart_health.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/smart_health.sh
|
# bash /mnt/user/appdata/varaverk/Monitors/smart_health.sh
|
||||||
|
|
||||||
# cert_monitor.sh — SSL certificate expiry via live TLS connection
|
# cert_monitor.sh — SSL certificate expiry via live TLS connection
|
||||||
# Connects via openssl s_client — checks cert actually being served to clients.
|
# Connects via openssl s_client — checks cert actually being served to clients.
|
||||||
@@ -1153,9 +1153,9 @@
|
|||||||
# Configured via HOST*_CERT_MONITOR_DOMAINS in host*.conf.
|
# Configured via HOST*_CERT_MONITOR_DOMAINS in host*.conf.
|
||||||
# Thresholds: > 30 days = silent, <= 30 = warning, <= CERT_CRIT_DAYS (7) = urgent.
|
# Thresholds: > 30 days = silent, <= 30 = warning, <= CERT_CRIT_DAYS (7) = urgent.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/cert_monitor.sh --status
|
# bash /mnt/user/appdata/varaverk/Monitors/cert_monitor.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/cert_monitor.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Monitors/cert_monitor.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/cert_monitor.sh
|
# bash /mnt/user/appdata/varaverk/Monitors/cert_monitor.sh
|
||||||
|
|
||||||
# backup_verify.sh — rsync mirror integrity via independent MD5 checksums
|
# backup_verify.sh — rsync mirror integrity via independent MD5 checksums
|
||||||
# Randomly samples BACKUP_VERIFY_SAMPLE (10) files per share. Computes MD5 both sides via SSH.
|
# Randomly samples BACKUP_VERIFY_SAMPLE (10) files per share. Computes MD5 both sides via SSH.
|
||||||
@@ -1165,9 +1165,9 @@
|
|||||||
# Pre-flight: check_connectivity() and check_remote_array() prevent false MISSING alarms.
|
# Pre-flight: check_connectivity() and check_remote_array() prevent false MISSING alarms.
|
||||||
# Notifies on MISMATCH or excessive MISSING files.
|
# Notifies on MISMATCH or excessive MISSING files.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/backup_verify.sh --status
|
# bash /mnt/user/appdata/varaverk/Monitors/backup_verify.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/backup_verify.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Monitors/backup_verify.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/backup_verify.sh
|
# bash /mnt/user/appdata/varaverk/Monitors/backup_verify.sh
|
||||||
|
|
||||||
# emby_session_report.sh — Emby weekly streaming usage statistics
|
# emby_session_report.sh — Emby weekly streaming usage statistics
|
||||||
# Queries HOST*_EMBY_URL for past EMBY_REPORT_DAYS (7) days of activity.
|
# Queries HOST*_EMBY_URL for past EMBY_REPORT_DAYS (7) days of activity.
|
||||||
@@ -1175,9 +1175,9 @@
|
|||||||
# weekly play count, top EMBY_REPORT_TOP_N content, most active users.
|
# weekly play count, top EMBY_REPORT_TOP_N content, most active users.
|
||||||
# Notifies if transcode ratio > 80% — usually indicates client/format compatibility issue.
|
# Notifies if transcode ratio > 80% — usually indicates client/format compatibility issue.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/emby_session_report.sh --status
|
# bash /mnt/user/appdata/varaverk/Monitors/emby_session_report.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/emby_session_report.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Monitors/emby_session_report.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/emby_session_report.sh
|
# bash /mnt/user/appdata/varaverk/Monitors/emby_session_report.sh
|
||||||
|
|
||||||
# bandwidth_monitor.sh — rsync transfer history and weekly summary report
|
# bandwidth_monitor.sh — rsync transfer history and weekly summary report
|
||||||
# --report: reads BANDWIDTH_LOG and generates weekly summary per profile.
|
# --report: reads BANDWIDTH_LOG and generates weekly summary per profile.
|
||||||
@@ -1187,29 +1187,29 @@
|
|||||||
# Version-stable field names — survives rsync output format changes between versions.
|
# Version-stable field names — survives rsync output format changes between versions.
|
||||||
# BANDWIDTH_LOG bounded to BANDWIDTH_LOG_RETENTION (90) days — never grows unbounded.
|
# BANDWIDTH_LOG bounded to BANDWIDTH_LOG_RETENTION (90) days — never grows unbounded.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/bandwidth_monitor.sh --report
|
# bash /mnt/user/appdata/varaverk/Monitors/bandwidth_monitor.sh --report
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/bandwidth_monitor.sh --status
|
# bash /mnt/user/appdata/varaverk/Monitors/bandwidth_monitor.sh --status
|
||||||
|
|
||||||
# weekly_health_digest.sh — profile-controlled ecosystem health digest (see ORCHESTRATORS)
|
# weekly_health_digest.sh — profile-controlled ecosystem health digest (see ORCHESTRATORS)
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/weekly_health_digest.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Monitors/weekly_health_digest.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/weekly_health_digest.sh --status
|
# bash /mnt/user/appdata/varaverk/Monitors/weekly_health_digest.sh --status
|
||||||
|
|
||||||
# system_tuning_monitor.sh — inotify + PHP-FPM trend tracking (see ORCHESTRATORS)
|
# system_tuning_monitor.sh — inotify + PHP-FPM trend tracking (see ORCHESTRATORS)
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/system_tuning_monitor.sh --status
|
# bash /mnt/user/appdata/varaverk/Monitors/system_tuning_monitor.sh --status
|
||||||
|
|
||||||
# mesh_monitor.sh — at-a-glance view of all servers in the mesh (read-only, on demand)
|
# mesh_monitor.sh — at-a-glance view of all servers in the mesh (read-only, on demand)
|
||||||
# No schedule — run any time you want a current mesh snapshot. No SSH or API calls.
|
# No schedule — run any time you want a current mesh snapshot. No SSH or API calls.
|
||||||
# Shows each node: hostname, Tailscale IP, role (owner/mirror), services covered in fallback tiers.
|
# Shows each node: hostname, Tailscale IP, role (owner/mirror), services covered in fallback tiers.
|
||||||
# Reads directly from all three conf files — does not use detect_hosts().
|
# Reads directly from all three conf files — does not use detect_hosts().
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Monitors/mesh_monitor.sh
|
# bash /mnt/user/appdata/varaverk/Monitors/mesh_monitor.sh
|
||||||
|
|
||||||
# continuous_scripts_status.sh — legacy live dashboard (Old_Arch_Still_Works/)
|
# continuous_scripts_status.sh — legacy live dashboard (Old_Arch_Still_Works/)
|
||||||
# NOTE: watchdog architecture changed to single-pass in v2.4. This dashboard was written
|
# NOTE: watchdog architecture changed to single-pass in v2.4. This dashboard was written
|
||||||
# for the continuous-loop design and is no longer kept current. Use --status flags on
|
# for the continuous-loop design and is no longer kept current. Use --status flags on
|
||||||
# individual scripts instead: docker_watchdog --status, stability_watchdog --status, etc.
|
# individual scripts instead: docker_watchdog --status, stability_watchdog --status, etc.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Old_Arch_Still_Works/continuous_scripts_status.sh
|
# bash /mnt/user/appdata/varaverk/Old_Arch_Still_Works/continuous_scripts_status.sh
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
@@ -1239,10 +1239,10 @@
|
|||||||
# verifies both servers healthy before proceeding. Requires confirmation string:
|
# verifies both servers healthy before proceeding. Requires confirmation string:
|
||||||
# "i-understand-this-transfers-ownership" (long by design — cannot type accidentally).
|
# "i-understand-this-transfers-ownership" (long by design — cannot type accidentally).
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_manager.sh --status
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_manager.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_manager.sh --onboard --dry-run
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_manager.sh --onboard --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_manager.sh --onboard
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_manager.sh --onboard
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_manager.sh --unblock hostname
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_manager.sh --unblock hostname
|
||||||
|
|
||||||
# partnership_offboard.sh — cleanly end a partnership (standalone version of --offboard)
|
# partnership_offboard.sh — cleanly end a partnership (standalone version of --offboard)
|
||||||
# Role is detected automatically — run on either server. Owner path runs the full sequence:
|
# Role is detected automatically — run on either server. Owner path runs the full sequence:
|
||||||
@@ -1251,9 +1251,9 @@
|
|||||||
# Deferred finalisation: if remote unreachable, completes automatically when reachable.
|
# Deferred finalisation: if remote unreachable, completes automatically when reachable.
|
||||||
# ALWAYS --dry-run first. 10-second countdown before live execution.
|
# ALWAYS --dry-run first. 10-second countdown before live execution.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_offboard.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_offboard.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_offboard.sh --status
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_offboard.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_offboard.sh
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_offboard.sh
|
||||||
|
|
||||||
# partnership_transfer.sh — transfer ownership from current owner to current mirror
|
# partnership_transfer.sh — transfer ownership from current owner to current mirror
|
||||||
# Owner only — mirror cannot initiate. Config and WebUI targets updated; containers stay.
|
# Owner only — mirror cannot initiate. Config and WebUI targets updated; containers stay.
|
||||||
@@ -1261,9 +1261,9 @@
|
|||||||
# Requires confirmation string: "i-understand-this-transfers-ownership" (long by design).
|
# Requires confirmation string: "i-understand-this-transfers-ownership" (long by design).
|
||||||
# After transfer: sync direction reverses on the next fallback/critical_sync cycle.
|
# After transfer: sync direction reverses on the next fallback/critical_sync cycle.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_transfer.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_transfer.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_transfer.sh --status
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_transfer.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_transfer.sh \
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_transfer.sh \
|
||||||
# --confirm=i-understand-this-transfers-ownership
|
# --confirm=i-understand-this-transfers-ownership
|
||||||
|
|
||||||
# gitea_ssh_setup.sh — generate Gitea SSH keypair and register it with Gitea via API
|
# gitea_ssh_setup.sh — generate Gitea SSH keypair and register it with Gitea via API
|
||||||
@@ -1271,10 +1271,10 @@
|
|||||||
# Use --force to regenerate and re-register (e.g. after Gitea reinstall or key compromise).
|
# Use --force to regenerate and re-register (e.g. after Gitea reinstall or key compromise).
|
||||||
# Called during onboard setup or when re-keying a server. Run after Gitea container is up.
|
# Called during onboard setup or when re-keying a server. Run after Gitea container is up.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/gitea_ssh_setup.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Partnership/gitea_ssh_setup.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/gitea_ssh_setup.sh --status
|
# bash /mnt/user/appdata/varaverk/Partnership/gitea_ssh_setup.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/gitea_ssh_setup.sh
|
# bash /mnt/user/appdata/varaverk/Partnership/gitea_ssh_setup.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/gitea_ssh_setup.sh --force
|
# bash /mnt/user/appdata/varaverk/Partnership/gitea_ssh_setup.sh --force
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
@@ -1294,11 +1294,11 @@
|
|||||||
# At SSH_MAX_STRIKES (5): notify + return exit 2 for caller to escalate.
|
# At SSH_MAX_STRIKES (5): notify + return exit 2 for caller to escalate.
|
||||||
# Strikes reset after SSH_STRIKE_RESET_HRS (24) of clean connectivity.
|
# Strikes reset after SSH_STRIKE_RESET_HRS (24) of clean connectivity.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/ssh_setup.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Partnership/ssh_setup.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/ssh_setup.sh --status
|
# bash /mnt/user/appdata/varaverk/Partnership/ssh_setup.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/ssh_setup.sh
|
# bash /mnt/user/appdata/varaverk/Partnership/ssh_setup.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/ssh_setup.sh --force
|
# bash /mnt/user/appdata/varaverk/Partnership/ssh_setup.sh --force
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/ssh_setup.sh --validate
|
# bash /mnt/user/appdata/varaverk/Partnership/ssh_setup.sh --validate
|
||||||
|
|
||||||
# partnership_onboard.sh — full partnership setup orchestrator (run once to join a partner server)
|
# partnership_onboard.sh — full partnership setup orchestrator (run once to join a partner server)
|
||||||
# Orchestrates the complete setup sequence in order:
|
# Orchestrates the complete setup sequence in order:
|
||||||
@@ -1313,10 +1313,10 @@
|
|||||||
# PARTNERSHIP_OWNER_HOST correct in master.conf.
|
# PARTNERSHIP_OWNER_HOST correct in master.conf.
|
||||||
# ALWAYS --dry-run first.
|
# ALWAYS --dry-run first.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_onboard.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_onboard.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_onboard.sh
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_onboard.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_onboard.sh --skip-ssh
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_onboard.sh --skip-ssh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Partnership/partnership_onboard.sh --skip-arr-sync
|
# bash /mnt/user/appdata/varaverk/Partnership/partnership_onboard.sh --skip-arr-sync
|
||||||
|
|
||||||
|
|
||||||
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
@@ -1332,9 +1332,9 @@
|
|||||||
# Use when: scp/cp left root:root files blocking arr operations right now.
|
# Use when: scp/cp left root:root files blocking arr operations right now.
|
||||||
# Accepts one or multiple paths on the same command line.
|
# Accepts one or multiple paths on the same command line.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/bulk_permissions_repair.sh /mnt/user/Movies --dry-run
|
# bash /mnt/user/appdata/varaverk/Tools/bulk_permissions_repair.sh /mnt/user/Movies --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/bulk_permissions_repair.sh /mnt/user/Movies
|
# bash /mnt/user/appdata/varaverk/Tools/bulk_permissions_repair.sh /mnt/user/Movies
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/bulk_permissions_repair.sh /mnt/user/Movies /mnt/user/Music
|
# bash /mnt/user/appdata/varaverk/Tools/bulk_permissions_repair.sh /mnt/user/Movies /mnt/user/Music
|
||||||
|
|
||||||
# container_data_export.sh — stop container, archive appdata, verify archive, restart
|
# container_data_export.sh — stop container, archive appdata, verify archive, restart
|
||||||
# Use before: major version updates with "no rollback" migrations, pool migrations,
|
# Use before: major version updates with "no rollback" migrations, pool migrations,
|
||||||
@@ -1343,9 +1343,9 @@
|
|||||||
# Container is always restarted even if archiving fails — never leaves container stopped.
|
# Container is always restarted even if archiving fails — never leaves container stopped.
|
||||||
# Syntax: container_data_export.sh ContainerName /path/to/appdata /output/directory
|
# Syntax: container_data_export.sh ContainerName /path/to/appdata /output/directory
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/container_data_export.sh \
|
# bash /mnt/user/appdata/varaverk/Tools/container_data_export.sh \
|
||||||
# Emby /mnt/media-servers/Media_Server/Emby /mnt/user/Backups/ --dry-run
|
# Emby /mnt/media-servers/Media_Server/Emby /mnt/user/Backups/ --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/container_data_export.sh \
|
# bash /mnt/user/appdata/varaverk/Tools/container_data_export.sh \
|
||||||
# Emby /mnt/media-servers/Media_Server/Emby /mnt/user/Backups/
|
# Emby /mnt/media-servers/Media_Server/Emby /mnt/user/Backups/
|
||||||
|
|
||||||
# emby_database_repair.sh — SQLite integrity check on all Emby databases
|
# emby_database_repair.sh — SQLite integrity check on all Emby databases
|
||||||
@@ -1358,9 +1358,9 @@
|
|||||||
# activity.db → CORRUPT: safe to delete (it's a log only)
|
# activity.db → CORRUPT: safe to delete (it's a log only)
|
||||||
# Config path detected automatically from Docker volume mounts — no configuration needed.
|
# Config path detected automatically from Docker volume mounts — no configuration needed.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_database_repair.sh --status
|
# bash /mnt/user/appdata/varaverk/Tools/emby_database_repair.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_database_repair.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Tools/emby_database_repair.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_database_repair.sh
|
# bash /mnt/user/appdata/varaverk/Tools/emby_database_repair.sh
|
||||||
|
|
||||||
# zfs_pool_scrub.sh — trigger ZFS scrub on all pools, wait for completion
|
# zfs_pool_scrub.sh — trigger ZFS scrub on all pools, wait for completion
|
||||||
# ZFS checksums every block and verifies — catches silent data corruption before you
|
# ZFS checksums every block and verifies — catches silent data corruption before you
|
||||||
@@ -1369,29 +1369,29 @@
|
|||||||
# Specify a pool name to scrub it specifically (bypasses the ignore list).
|
# Specify a pool name to scrub it specifically (bypasses the ignore list).
|
||||||
# Notifies when complete with error summary.
|
# Notifies when complete with error summary.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/zfs_pool_scrub.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Tools/zfs_pool_scrub.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/zfs_pool_scrub.sh
|
# bash /mnt/user/appdata/varaverk/Tools/zfs_pool_scrub.sh
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/zfs_pool_scrub.sh poolname
|
# bash /mnt/user/appdata/varaverk/Tools/zfs_pool_scrub.sh poolname
|
||||||
|
|
||||||
# emby_to_lidarr_sync.sh — one-shot bootstrap: add all played Emby artists to Lidarr
|
# emby_to_lidarr_sync.sh — one-shot bootstrap: add all played Emby artists to Lidarr
|
||||||
# Finds artists played on Emby that are not tracked in Lidarr and adds them. No scoring.
|
# Finds artists played on Emby that are not tracked in Lidarr and adds them. No scoring.
|
||||||
# Run once after Lidarr is set up, or any time you suspect gaps between what you listen to
|
# Run once after Lidarr is set up, or any time you suspect gaps between what you listen to
|
||||||
# and what Lidarr monitors. Use --days N to limit lookback window.
|
# and what Lidarr monitors. Use --days N to limit lookback window.
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_to_lidarr_sync.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Tools/emby_to_lidarr_sync.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_to_lidarr_sync.sh --status
|
# bash /mnt/user/appdata/varaverk/Tools/emby_to_lidarr_sync.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_to_lidarr_sync.sh
|
# bash /mnt/user/appdata/varaverk/Tools/emby_to_lidarr_sync.sh
|
||||||
|
|
||||||
# emby_to_radarr_sync.sh — one-shot bootstrap: add all played Emby movies to Radarr
|
# emby_to_radarr_sync.sh — one-shot bootstrap: add all played Emby movies to Radarr
|
||||||
# Same pattern as emby_to_lidarr_sync. Run once to ensure everything you've watched is monitored.
|
# Same pattern as emby_to_lidarr_sync. Run once to ensure everything you've watched is monitored.
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_to_radarr_sync.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Tools/emby_to_radarr_sync.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_to_radarr_sync.sh --status
|
# bash /mnt/user/appdata/varaverk/Tools/emby_to_radarr_sync.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_to_radarr_sync.sh
|
# bash /mnt/user/appdata/varaverk/Tools/emby_to_radarr_sync.sh
|
||||||
|
|
||||||
# emby_to_sonarr_sync.sh — one-shot bootstrap: add all played Emby series to Sonarr
|
# emby_to_sonarr_sync.sh — one-shot bootstrap: add all played Emby series to Sonarr
|
||||||
# Same pattern as emby_to_lidarr_sync. Run once to ensure all watched shows are monitored.
|
# Same pattern as emby_to_lidarr_sync. Run once to ensure all watched shows are monitored.
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_to_sonarr_sync.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Tools/emby_to_sonarr_sync.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_to_sonarr_sync.sh --status
|
# bash /mnt/user/appdata/varaverk/Tools/emby_to_sonarr_sync.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/emby_to_sonarr_sync.sh
|
# bash /mnt/user/appdata/varaverk/Tools/emby_to_sonarr_sync.sh
|
||||||
|
|
||||||
# recreate_shares.sh — create share directories on disks after fresh install or rebuild
|
# recreate_shares.sh — create share directories on disks after fresh install or rebuild
|
||||||
# Use when: share .cfg files restored to fresh install but directories missing on disks.
|
# Use when: share .cfg files restored to fresh install but directories missing on disks.
|
||||||
@@ -1399,9 +1399,9 @@
|
|||||||
# chown nobody:users on creation. Run once — then initial rsync populates the content.
|
# chown nobody:users on creation. Run once — then initial rsync populates the content.
|
||||||
# Without this: rsync aborts "remote share missing" even though the share shows in the UI.
|
# Without this: rsync aborts "remote share missing" even though the share shows in the UI.
|
||||||
#
|
#
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/recreate_shares.sh --dry-run
|
# bash /mnt/user/appdata/varaverk/Tools/recreate_shares.sh --dry-run
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/recreate_shares.sh --status
|
# bash /mnt/user/appdata/varaverk/Tools/recreate_shares.sh --status
|
||||||
# bash /mnt/user/appdata/unraid_scripts/Tools/recreate_shares.sh
|
# bash /mnt/user/appdata/varaverk/Tools/recreate_shares.sh
|
||||||
|
|
||||||
|
|
||||||
# ==============================================================================================
|
# ==============================================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user