У меня в похожей ситуации сложился такой набор инструментов:
- контейнеризация - докер
- конфигурация и запуск контейнеров - docker compose
- web IU к докеру - Portainer
- деплой - Gitlab CI
Самый простой вариант решения вашей задачи. Классов вроде Detail и Node может быть сколько угодно, главное, чтобы они реализовывали соотвествующие интерфейсы.