[proposal] use supervisord instead of systemd/sysvinit/etc to allow a uniform method of startup
Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems.
It shares some of the same goals of programs like launchd, daemontools, and runit. Unlike some of these programs, it is not meant to be run as a substitute for init as “process id 1”. Instead it is meant to be used to control processes related to a project or a customer, and is meant to start like any other program at boot time.
Extending agocontrol to use supervisord instead of supporting all various kinds of init systems would allow us to use a generic start/stop method. Also, supervisord allows user control of daemons via RPC controls. This allows us to start/stop/restart all kinds of plugins and devices (on demand) from within the webgui.
Using supervisord will allow us to (in the future) distribute agocontrol more easily on various systems and also as a docker app.
This is a proposal