I wouldn't be against taking the next step to understanding and using Docker, then docker-compose for such a thing. One can get a lot of use out of a system this way.
Some languages make building harder than others but containers can obviate a lot of that difficulty even if the runtime target is bare metal.