Лучше повесить докер и в нем сервисы держать — поможет поднимать/убивать без аффекта на весь сервер
Юзера лучше одного, внутри докер-контейнеров все само будет резовлиться
По части деплоя: пушите в гит
Далее смотря какая система, если гитлаб, то на сервере нужно поставить гитлаб-агент, через который будете деплоить, если гитхаб — можно через GithubActions и плагины
Удобно поставить деплоер какой-нибудь, с помощью которого будете таски на сервере запускать удаленно с хоста (в нашем случае из среды CI/CD), например capistrano, или deployer на php (простой, но им даже Баду пользуется)
Отдельно рассмотрел бы вам что-то облачное, чтобы не админить руками сервер, например Хероку или Digital Ocean, они поддерживают простой деплой изнутри хостинга, просто направляя на репозиторий и при обновлении они сами подтянут изменения и перезапустят корректно контейнеры