If I would like to run another web service on the same host running cloudron would it be okay to add a custom nginx.conf to the /etc/nginx/applications/ directory of the root OS/server system? My objective is to have a myservice.mydomain.com running not-in a docker but sitting beside the other cloudron specific services such as my.mydomain.com and chat.mydomain.com, etc.
I'm sorry if this is covered somewhere else, I could not find details on best practice for this question.
While this is technically possible, Cloudron does not support installing anything on the side. Since we cannot test all kinds of variations in such a case, your setup will break eventually after an update. Especially the reverse proxy configs are auto-generated and will cause issues.
The supported way to install something which is not yet part of the app library is to build your own package https://docs.cloudron.io/custom-apps/tutorial/
I think there is a good use case for exposing a custom URL mapping via Nginx that doesn't necessarily go to a container on the local system.
This has use cases for a single (sub)domain providing proxy and load balancing services, as well as cluster management down the road.
As of now, the default nginx.conf loads all .conf files from applications/ directory.
Unless there is anything in the code that wipes out all conf files instead of only individual ones, adding a custom on there for a custom use case won't cause problems for other apps and won't be overwritten on upgrades.
If you want to feel safer, keep the custom .conf elsewhere and use a symlink from the applications/ directory.