Supervisor gives the panel a front end for supervisord: you can define programs, control their processes and read their logs without touching a shell. Creating or editing a program writes a single managed config section — command, working directory, run-as user, environment, autostart, autorestart (true/false/unexpected), startsecs, priority, numprocs and the stopasgroup/killasgroup flags — with each field validated before it is rendered (numprocs 1-64, startsecs 0-3600, priority 0-999). Saving or deleting a program automatically runs reread + update, and deletion stops the program first so removing its file cannot leave orphaned processes behind.
The process table polls and shows each process's state, with start, stop and restart per process or process group, plus a log viewer that tails stdout or stderr and can clear a process's logs. A small supervisord event listener installed alongside it records programs that go FATAL or keep restarting, and the panel raises them as admin notifications (and on the admin's alert channels). You can also start, stop and restart the supervisor service itself. Everything runs through the root agent, because supervisor's control socket is 0700 root:root and systemctl needs a PAM session — the unprivileged Django process can drive neither. The plugin does not install supervisor; if the daemon is absent, install it via the bundled install.sh first, and the sidebar shows a grey dot rather than a false "stopped" when the agent itself is unreachable. The full page is admin-only, because a supervisor program is an arbitrary command run as an arbitrary user under root's daemon. Hosting accounts granted "Can run own background workers" get a confined page of their own: their workers always run as their own Linux user, from a directory in their home, within the limits the admin sets.
Availability: Free on every plan, including the Free plan.
Use VinzaPanel's REST API to download and install this app programmatically.
POST /plugins/api/download/supervisor/ Content-Type: application/json { "panel_version": "1.0.0" }
{
"success": true,
"plugin_id": "supervisor",
"version": "1.0.6",
"download_url": "..."
}