Я бы предложил использовать Docker. Его будет проще настраивать, и вы сможете запускать его локально, и он должен вести себя так же, как в Heroku. Кроме того, Heroku имеет хорошую поддержку для развертывания с помощью Docker. Вы можете проверить процесс развертывания здесь: https://devcenter.heroku.com/categories/deploying-with-docker
Процесс сборки образа докера будет отличаться в зависимости от используемой вами системы сборки.