- unraid_api.php comment still told you to run Deployment/deploy.sh, deleted a while back - VaraverkSettings.page linked to a CHANGELOG.md that doesn't exist anywhere in the repo - Manual-Plugin.md / README-Plugin.md described manually heredoc-ing the .plg locally and a .txz-based install that isn't wired up — rewritten to describe the actual install flow (raw .plg URL via Plugins -> Install Plugin), with plugin_setup.sh's dev-symlink role called out separately from that install path
7.0 KiB
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔌 PLUGIN — Manual
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Setup procedures, deployment steps, and operational reference.
For folder overview see README-Plugin.md. For web app logic see the headers in unraid/include/.
━━━ FIRST-TIME INSTALL ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Not yet published to Community Applications — this is a niche, self-hosted install for now.
Install via the Unraid UI (the actual install path)
Plugins → Install Plugin → Enter URL of remote plugin file, paste the raw .plg URL:
- Your own servers (Gitea):
https://git.gmer4lfe.com/FailedProxy/Varaverk/raw/branch/main/Plugin/varaverk.plg - Public/anyone else (GitHub):
https://raw.githubusercontent.com/FailedProxy/Varaverk/main/Plugin/varaverk.plg
Unraid downloads the .plg, saves it to /boot/config/plugins/varaverk.plg itself
(nothing to copy by hand), then runs its <FILE> steps: clones the repo onto flash
(Gitea → Tailscale peer → GITEA_DOMAIN → GitHub fallback chain — same install script
either way, so both URLs above end up in the same place), then symlinks the web files.
See varaverk.plg's inline comments for the exact clone/fallback logic.
Verify
Navigate to the Unraid web UI. Varaverk should appear in the Tasks menu. Go to Settings → Other Settings — a Varaverk tile should also appear there.
━━━ PLG SETUP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
The .plg file registers Varaverk with Unraid's plugin system. It enables the cron
mechanism (update_cron) and makes the plugin appear on the Plugins management page.
Plugin/varaverk.plg is tracked in the repo — it's a real plugin descriptor (version,
GitHub links, changelog) maintained by build.sh, not hand-authored. Normally you never
touch flash directly — installing via the URL above (or the update button on the Plugins
page, once installed) handles placing/refreshing /boot/config/plugins/varaverk.plg for you.
plugin_setup.sh is a separate, optional dev convenience — see below — not part of the
install path above.
Cron flow on every boot:
event/disks_mounted/rebuild_cronfires- Copies
varaverk.plgto/var/log/plugins/ - Calls
vv_cron_rebuild()→ writesvaraverk.cron→ callsupdate_cron - Unraid merges
varaverk.croninto/etc/cron.d/root - crond picks up all Varaverk jobs
━━━ DEV CONVENIENCE: plugin_setup.sh ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Not part of the install path above — a manual, optional tool for pointing the running
web server directly at an arbitrary repo clone (e.g. a dev checkout that isn't at
/boot/config/plugins/varaverk), bypassing the fixed-path symlink the .plg recreates
every boot.
cd Plugin/
./plugin_setup.sh
This creates /usr/local/emhttp/plugins/varaverk → Plugin/unraid/ (or Plugin/<os>/
for other platforms) pointing at wherever this repo currently lives, so edits show up
in the browser instantly. Re-run it any time the repo moves — see REPO MOVE PROCEDURE below.
━━━ SCRIPTS DIRECTORY SETTING ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SCRIPTS_DIR tells the plugin where to find the Configurations directory and all
repo scripts.
Set it via: Settings → Other Settings → Varaverk → Scripts directory
Default: /boot/config/plugins/varaverk
The value is stored in /boot/config/plugins/varaverk/varaverk.cfg:
SCRIPTS_DIR="/boot/config/plugins/varaverk"
All other configuration lives in Configurations/master.conf and Configurations/host*.conf.
CUSTOM_SCRIPTS_DIR is a separate, optional override for where the Scheduler tab's
Custom Scripts feature reads/writes user-authored scripts (see Manual.md → Custom
Scripts). It's intentionally not under SCRIPTS_DIR — Custom Scripts are personal,
non-repo tooling and must never end up inside the git-tracked plugin folder.
Default: /boot/config/plugins/user.scripts/Varaverk/Scripts
# in varaverk.cfg, alongside SCRIPTS_DIR
CUSTOM_SCRIPTS_DIR="/boot/config/plugins/user.scripts/Varaverk/Scripts"
━━━ REPO MOVE PROCEDURE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
If a dev checkout using plugin_setup.sh (see above) is moved to a new path:
- Re-run
plugin_setup.sh— removes the stale symlink and creates a new one pointing at the new path - Update
SCRIPTS_DIRin Settings → Other Settings → Varaverk (or editvaraverk.cfgdirectly on flash)
The .plg on flash does not need to change — it has no path references.
This doesn't apply to a normal install (via the raw .plg URL) — that always lives at
the fixed path /boot/config/plugins/varaverk, there's no separate location to move.
━━━ UPDATING THE PLUGIN VERSION ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
build.sh rewrites the version and sha256 entities in Plugin/varaverk.plg to match
each release build — don't hand-edit them. The sha256/packaged .txz aren't currently
consumed by anything (see the CHANGES entry in varaverk.plg — install is git-clone +
symlink, not package-based), so today this is mostly cosmetic version tracking:
cd Plugin/
./build.sh # today's date as version
./build.sh 2026.09.01 # explicit version
Commit and push. The version shown on the Plugins page updates next time Unraid
re-fetches the .plg (the Plugins page's Update action, or a fresh install).
━━━ ADDING A NEW OS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
plugin_setup.sh is built to support multiple OS targets. To add one:
- Create
Plugin/<os>/with the OS-appropriate web app files - Add the OS marker to
detect_os()inplugin_setup.sh:elif [[ -f /etc/<os>-marker ]]; then echo "<os>" - Add the install target to the
caseblock:<os>) SOURCE="$SCRIPT_DIR/<os>" TARGET="/path/to/web/server/plugins/$PLUGIN_NAME" ;;