Please allow editing supervisor directives for daemons — specifically stopasgroup, killasgroup, stopwaitsecs and startretries — or set them automatically for Octane.
Ploi's generated Octane/FrankenPHP daemon config lacks stopasgroup/killasgroup. When supervisor restarts (for me: unattended-upgrades triggering needrestart), FrankenPHP doesn't exit in time, supervisor SIGKILLs only the parent, and the orphaned child keeps holding Caddy's admin port 2019. All restarts then fail with "Port 2019 is already in use" and supervisor enters FATAL after 4 retries — the site is down until the orphan is killed manually or the server is rebooted.
This cost me two outages of 2+ hours each. systemd reports it directly: "Unit process (frankenphp) remains running after unit stopped."
Adding stopasgroup=true and killasgroup=true to the program block solves it, but manual edits get overwritten when Ploi regenerates the config.
Thanks!