There’s a module called virtualmin-init
which allows users to manage their own actions to be run on boot. Package is webmin-virtualmin-init
on Ubuntu/Debian and wbm-virtualmin-init
on RHEL-based distros.
I’m not sure how well-maintained it is, it’s not super commonly used (but maybe should be, since it’s so common to run user-managed app servers these days).