SmokeSignal

SmokeSignal

Plugin from junkerderprovinz

Overview

Catches the smoke before the reboot catches fire. SmokeSignal checks, BEFORE you reboot, whether your server will come back up clean - and gives one verdict: GO / CAUTION / NO-GO, with the exact findings. Advisory only: it reads the host and reports, it never changes anything. It catches the reboot landmines that are detectable from the running system: an unclean array or a disabled/invalid disk, a parity/sync/rebuild/clear or mover in progress, a container mounting a host runtime directory or a stuck docker.img/libvirt.img loop, a non-writable flash, low free space, recent kernel/IO errors, running VMs, stopped core services, and SMART health (status + attributes + temperature). Adds a button next to Reboot on the Main tab. Follows your Unraid light/dark theme and language (English + German, English fallback).

SmokeSignal

Build  Lint  Unraid Plugin  Release  License

An Unraid plugin that answers one question before you reboot: will the box come back up clean?
SmokeSignal reads the live host state and gives you a single verdict — GO / CAUTION / NO-GO — with the exact findings, so you never reboot into a known landmine. Advisory only: it reads, it never touches anything.

Buy me a coffee


Table of Contents

  1. What is this?
  2. Screenshots
  3. What it checks
  4. How it works
  5. Install
  6. Development
  7. Support this project

1. What is this?

A reboot is never 100% guaranteed, but a large class of "it didn't come back right" is predictable from the current live state. SmokeSignal inspects that state before you reboot and gives you a single, honest verdict:

  • GO — nothing found that should block a reboot
  • CAUTION — non-fatal issues you should know about first
  • NO-GO — conditions likely to make the reboot come back dirty

It is advisory only. It reads the system and reports. It never stops, mounts, unmounts, or changes anything — because acting on the host is exactly what tends to cause reboot trouble in the first place.

The plugin adds a SmokeSignal button next to Reboot on the Main tab, plus a Tools → SmokeSignal page with a short description. Click it, read the verdict, then reboot with confidence. The report follows your Unraid light/dark theme and language (German + English today, English fallback for other languages).


2. Screenshots

SmokeSignal pre-reboot report with a CAUTION verdict
The pre-reboot report: a single GO / CAUTION / NO-GO verdict with the exact checks behind it. Advisory only — it never changes anything.


SmokeSignal button next to Reboot on the Main tab
One click from the Main tab — the SmokeSignal button sits right next to Reboot.


3. What it checks

Critical — a failure here means NO-GO

  • Array started and clean (no disabled / invalid / missing disks)
  • No parity check / sync / rebuild / clear in progress, mover not running
  • No container mounting a host runtime directory (/var/run, /run, /var/run/libvirt, … — docker.sock excepted) — the bind class that can take libvirt/docker down on reboot
  • No stuck docker.img / libvirt.img loop (attached-but-not-mounted, or a loop backing a deleted file)
  • Flash /boot mounted and writable

Caution — worth knowing before you reboot

  • Crashes since last boot in the syslog (segfault, general-protection-fault, OOM, kernel panic, call traces)
  • Low free space on /, /var/log (both RAM), docker.img, cache
  • VMs currently running (a reboot force-stops them)
  • A core service down right now (dockerd / libvirtd / emhttpd)
  • Container bind sources under /mnt that no longer exist
  • SMART health (smartctl -H) on every disk

Info — uptime, kernel, Unraid version.

Honest limits

This is an early-warning check, not an oracle. Genuine hardware, BIOS or timing failures during boot cannot be seen from a running system. What it does cover reliably is the state-detectable class: pinned mounts, stuck loops, an unclean array, in-flight array operations, a low-on-RAM or crash-looping box.


4. How it works

A single Bash engine (smokesignal-check.sh) runs the checks by querying the tools Unraid already ships — mdcmd, losetup, docker, smartctl, df, pgrep. No daemon, no dependencies. It prints a human-readable report on a console, or machine-readable JSON for the WebGUI:

smokesignal-check.sh          # human-readable report
smokesignal-check.sh --json   # machine-readable (used by the WebGUI)

Exit code mirrors the verdict: 0 = GO, 1 = CAUTION, 2 = NO-GO.

The WebGUI layer is a small PHP page (SmokeSignalReport.php) that runs the engine and renders the verdict in an Unraid modal.


5. Install

Community Apps (planned) — search for SmokeSignal in the Apps tab.

By URL (today): Unraid → PluginsInstall Plugin, paste:

https://raw.githubusercontent.com/junkerderprovinz/smokesignal/main/plugin/smokesignal.plg

6. Development

The plugin files live under src/ mirroring the on-disk layout (/usr/local/emhttp/plugins/smokesignal/). The release .txz is built by CI on a tagged push (v*) — built on Linux so executable bits are preserved.

Assets (icon, banner) are generated with .github/assets/render-assets.mjs.


7. Support this project

If SmokeSignal saved you a bad reboot, you can buy me a coffee. Thanks!


Part of a family of self-hosted Unraid apps + plugins by junkerderprovinz — see them all at github.com/junkerderprovinz, or install from Community Applications.

Install SmokeSignal on Unraid in a few clicks.

Find SmokeSignal in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for SmokeSignal Review the template variables and paths Click Install

Download Statistics

0
Total Downloads
45
This Month
4
Avg / Month

Downloads by Month

Loading chart...

Related apps

Details

Repository
https://raw.githubusercontent.com/junkerderprovinz/smokesignal/main/plugin/smokesignal.plg
Last Updated2026-07-08
First Seen2026-07-08