Skip to content

Unraid

Monitor parity checks, array state changes, disk alerts, and UPS events on your Lock Screen via Unraid's GraphQL WebSocket API.

Warning

Beta: the Unraid plugin is in beta — expect rough edges and please report issues on GitHub.

How It Works

A native Unraid plugin — no Docker container required. Runs as an autostart service and connects to the local GraphQL API.

  1. Notification forwarding — subscribes to Unraid's notificationAdded WebSocket and forwards every notification to PushWard. ALERT and WARNING importance map to active iOS notifications, INFO to passive.
  2. Parity tracking — polls the GraphQL API every 10 seconds for parity-check progress and array state changes, surfaced as a Live Activity while the check runs.

Setup

1. Generate an Unraid API Key

On your Unraid server, go to Settings → Management Access → API Keys and create a new key. Read access on array and notifications is sufficient.

2. Get Your PushWard Integration Key

Open the PushWard app → Settings → Integration Key to find your default hlk_ key.

To create a dedicated key for this integration:

  1. Go to Settings → Manage Keys
  2. Tap +
  3. Set name (e.g. "Unraid"), choose , Full management scope, and restrict tounraid-*
  4. Copy the generated hlk_ key

3. Install the Plugin

In the Unraid web UI, go to Plugins → Install Plugin and paste this URL:

https://github.com/mac-lucky/pushward-unraid-plugin/raw/main/pushward-unraid.plg

The plugin downloads the pushward-unraid binary into /usr/local/bin/, drops a control script and Settings page into /usr/local/emhttp/plugins/pushward-unraid/, and registers an autostart symlink at /usr/local/etc/rc.d/rc.pushward-unraid. Unraid 6.12 or later is required.

4. Configure

Open Settings → PushWard in the Unraid web UI and fill in:

FieldDescriptionDefault
ServiceSet to Enable to autostart the bridgeEnable
PushWard server URLPushWard API URLhttps://api.pushward.app
PushWard integration API keyThe hlk_… key from step 2 (needs activity:manage scope)--
Unraid hostHostname Unraid is reachable on (the plugin runs on the same host)localhost
Unraid portPort Unraid's nginx serves /graphql on80
Use TLSSet to Yes if you reach the Unraid GUI over HTTPS onlyNo
Unraid API keyThe API key from step 1--
Server display nameShown in PushWard Live Activities (e.g. "Tower")--

Click Apply. Values are persisted to /boot/config/plugins/pushward-unraid/pushward-unraid.cfg and survive reboots and plugin upgrades.

Logs and Manual Control

tail -f /var/log/pushward-unraid.log

/usr/local/emhttp/plugins/pushward-unraid/pushward-unraid.sh status
/usr/local/emhttp/plugins/pushward-unraid/pushward-unraid.sh restart
/usr/local/emhttp/plugins/pushward-unraid/pushward-unraid.sh stop

Updates

The .plg manifest auto-bumps when a new unraid-v* release is published. Pick up the latest version via Plugins → Check for Updates inside Unraid.

Uninstall

Plugins → PushWard → Remove. The binary, autostart symlink, ramdisk plugin directory, and log file are removed. Your config under /boot/config/plugins/pushward-unraid/ is left intact, so reinstalling restores your API keys.