I am running my Roon server (i.e., the “core”) as a service on a Windows pc. This approach has been much more stable than running the Roon UI. (Why a music server would include a controller UI, no less one that chokes on some video driver issues, is beyond me, but I digress.)
Even though this approach is overall stable, there have been a few times I’ve need to restart the server, mostly when out and about listening through ARC.
To handle the issue of the non-responsive server and/or remote monitoring and restart, I wrote a little utility using the Python library for the API. It monitors the server and will automatically restart it if needed, and it provides a browser based terminal for manual intervention. I install it as a Windows service as well, so no need to be logged into the server for either Roon or the Roon Service Manager.
You can find my Roon Service Manager here.