Если вы хотите при установке создавать свою виртуализацию, то Docker или Vargan в этом вам помогут. Далее с помощью Makefile или SH скриптов прописываете все команды и создаете одну главную init по которой идет запуск всего проекта. Что делают это две вещи? Собственно ничего особенного. Они просто запускают написанные вами команды в нужном порядке. Думаю, что вам это нужно. А использовать это в связке с докер вопрос другой. Вот
рабочий пример.