Настройка OSRM на Heroku

Делаю новую тему для этого сообщения Установка OSRM (Open Source Routing Machine) на Heroku потому что прошло 6 лет и старые билдпаки не работают, по крайней мере для меня.

У кого-нибудь был недавний успех в настройке OSRM в своих приложениях на Heroku? Я пробовал несколько различных способов за последние пару дней (различные билдпаки и Heroku Docker), но ничего не сработало.

Моя ситуация может быть специфичной, потому что у меня уже есть приложение django heroku и я хочу запустить OSRM внутри, чтобы я мог получить доступ к нему с локального хоста. Я пробовал использовать следующие билдпаки по отдельности, и каждый из них не работает, когда я пытаюсь запустить свой код. Я думаю, что они просто не поддерживаются и устарели к настоящему времени.

  1. https://github.com/chrisanderton/heroku-osrm-buildpack
  2. https://github.com/jpizarrom/osrm-heroku

В настоящее время я уже использую два нижеприведенных билдпака и добавил сверху osrm:

  1. https://github.com/heroku/heroku-geo-buildpack.git
  2. heroku/python
  3. [one of the osrm buildpacks]

С помощью билдпака chrisanderton я получаю ближайший, но сталкиваюсь с ошибкой cmake, приведенной ниже. Я добавил cmake в свой файл requirements.txt, но все равно получаю ту же самую ошибку.

remote: -----> Building OSRM
remote: CMake Error: Could not find CMAKE_ROOT !!!
remote: CMake has most likely not been installed correctly.
remote: Modules directory not found in
remote: /tmp/build_e6079286/.apt/usr/share/cmake-3.16
remote: CMake Error: Error executing cmake::LoadCache(). Aborting.

Я подумал, что, возможно, нет свежей литературы по настройке OSRM на Heroku, потому что Heroku Docker сейчас намного проще в использовании. Итак, я попробовал настроить OSRM с помощью Heroku Docker. Я не смог выпустить образ docker внутри моего текущего приложения, потому что мое приложение не использует стек контейнеров Heroku. Меня также смутил тот факт, что не существует публичного Dockerfile для докер-образа OSRM... если я просто не нашел его или его можно создать? И я также не понимаю, как заставить образ работать на определенном порту. Я очень новичок в Docker, поэтому возможно, что я просто неправильно понимаю что-то ключевое в запуске образа OSRM Docker в Heroku.

Огромное спасибо, любые идеи или предложения помогут.

Вернуться на верх