Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Dereck

Members
  • Joined

  • Last visited

Everything posted by Dereck

  1. yeah, this is easy to set up. the plugin runs a little api server on port 3801 that home assistant talks to directly, no unraid login needed. you just need your server's lan ip and your api key from the plugin's settings > api tab. three parts: a rest sensor that reads status, a rest command that does the check-in, and a card that ties it together with a button. first, in configuration.yaml: rest: - scan_interval: 60 resource: "http://YOUR_UNRAID_IP:3801/?action=status&key=YOUR_API_KEY" method: GET sensor: - name: "DMS Status" unique_id: "dms_status" value_template: "{{ value_json.status }}" json_attributes: - armed - paused - dry_run - warning_level - days_remaining - time_remaining_display - last_checkin - next_deadline - elapsed_pct - checkin_interval_days rest_command: dms_checkin: url: "http://YOUR_UNRAID_IP:3801/?action=checkin&key=YOUR_API_KEY" method: GET restart ha (or reload yaml). then add a card to your dashboard (edit > add card > manual). i use a few stacked cards so it looks decent. the status one uses a markdown card so instead of showing the raw "armed_ok" text it shows a colored alert: type: markdown content: > {% set s = states('sensor.dms_status') %} {% set remaining = state_attr('sensor.dms_status', 'time_remaining_display') %} {% set info = { 'armed_ok': {'label': 'OK - ' ~ remaining ~ ' remaining', 'type': 'success'}, 'armed_reminder': {'label': 'Reminder - ' ~ remaining ~ ' remaining', 'type': 'warning'}, 'armed_warning': {'label': 'Warning - ' ~ remaining ~ ' remaining', 'type': 'warning'}, 'armed_critical': {'label': 'Critical - ' ~ remaining ~ ' remaining', 'type': 'error'}, 'grace_period': {'label': 'Grace Period - ' ~ remaining ~ ' remaining', 'type': 'error'}, 'triggered': {'label': 'TRIGGERED - deleted files', 'type': 'error'}, 'paused': {'label': 'Paused - ' ~ remaining ~ ' remaining', 'type': 'success'}, 'disarmed': {'label': 'Disarmed', 'type': 'success'} } %} {% set i = info.get(s, {'label': s, 'type': 'info'}) %} <ha-alert alert-type="{{ i.type }}"> {{ i.label }} </ha-alert> then an entities card for the details: type: entities entities: - entity: sensor.dms_status type: attribute attribute: time_remaining_display name: Time Remaining icon: mdi:timer-sand - entity: sensor.dms_status type: attribute attribute: last_checkin name: Last Check-in icon: mdi:clock-check-outline - entity: sensor.dms_status type: attribute attribute: next_deadline name: Next Deadline icon: mdi:clock-alert-outline and the check-in button. this is the important bit, it uses a confirmation prompt so you can't fat-finger a check-in: type: button name: Check In icon: mdi:check-circle tap_action: action: perform-action perform_action: rest_command.dms_checkin confirmation: text: Are you sure you want to check in to the Dead Man's Switch? tap it, confirm, and it hits the check-in endpoint and resets your timer. the status updates on the next poll (60s above). couple notes: - this assumes ha and unraid are on the same lan. through a reverse proxy you'd need to forward port 3801. - since you've got the rest_command set up you can also fire it from an automation or an actionable notification, so you get a check-in button right on your phone's lock screen when the timer's running low. that's how i've got mine, i barely open the dashboard. i've also updated the readme with all of this. let me know if you get stuck.
  2. i would change the script to the recommended way to shutdown your unraid system: #!/bin/bash /usr/local/sbin/powerdown if you must use shutdown i would use the full path and the correct syntax: /sbin/shutdown -h now
  3. Dead Man's Switch is a plugin that requires periodic check-ins from the server owner. If you stop checking in, it triggers configurable actions (deleting files/folders, running scripts) after a deadline passes. Built for privacy-conscious users who want automated cleanup if they become unable to manage their server. Requirements: Unraid 6.12.0 or later Install URL: https://raw.githubusercontent.com/dereckhall/unraid-deadmans-switch/main/plugin/deadman-switch.plg After installing, go to Settings > Dead Man's Switch to configure. Features Configurable check-in interval (default: 30 days) Grace period with extra hours after the deadline before actions fire Trigger actions: delete files/folders with glob pattern support, or run custom bash scripts Dry run mode to safely preview exactly what would happen before going live Arm / Disarm / Pause controls Double-miss protection: optionally require two consecutive missed deadlines before triggering Dashboard tile with real-time countdown Notifications Discord webhooks with rich embeds, color-coded severity, and one-click check-in links Custom webhooks to any HTTP endpoint Uptime Kuma push heartbeat monitoring Warning thresholds at 50%, 75%, 90%, and 95% of elapsed time External API (port 3801) A lightweight API server runs on port 3801, separate from Unraid's authenticated nginx. Supports remote check-ins, status queries, and token-based quick check-in URLs. CORS enabled for Home Assistant and browser clients. Screenshots Unraid's dashboard with DMS card Unraid's settings main menu for DMS Unraid's settings actions menu for DMS DMS's Home Assistant dashboard created by leveraging the built-in API DMS's Home Assistant phone notification example created by leveraging the built-in API Discord's webhook with rich embed for DMS Troubleshooting Common issues and solutions are documented in the README: https://github.com/dereckhall/unraid-deadmans-switch#troubleshooting Source / Issues: https://github.com/dereckhall/unraid-deadmans-switch License: MIT

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.