накрутить можно много и как угодно.
1. CI сервер их куча разных на любой вкус и цвет
для repo1 по хуку на какую-нибудь ветку например master или prodaction делаем обновление кода на сервере
с бд все зависит от организации работы с ней
если есть механизм миграций, то проблемы вообще нет
repo 2 заворачиваем в пакет для любого удобного менеджера пакетов npm bower и т.д
c обновлением по лицензии, я бы не стал ее делать на рабочем сервере сразу, но это вам решать
2 для удаленной кофигурации так же есть ansible puppet можно их прикрутить
3 докер - собираете контейнер с приложением, а на сервере тупо обновляете
короче вариантов много, пробуйте. как правильно никто не скажет. скажут лишь о том что в тренде.