I do this as well. Though if I'm deploying a stack(grafana+prometheus+cadvisor) then it all goes under a single folder like /opt/stackname/
But if I'm running multiple services that are mostly separate or not in the same stack then they go in their own folders like /opt/nginx/ and /opt/grafana/