Heroku – бесплатный хостинг, на котором можно развернуть приложение на node.js и на других языках: heroku.com
Регистрируемся, и создаем новое приложение: create new app
Качаем и устанавливаем heroku cli для windows или Mac OS
Качаем и устанавливаем git для windows: https://git-scm.com/download/win
Набираем команду:
heroku login
Переходим в папку с проектом, командой:
cd
Далее:
git init
heroku git:remote -a bytelandia
git add .
Требует еще электронной почты, только в первый раз, если не настроена:
git config --global user.email "you@example.com"
git commit -am "make it better"
git push heroku master
Добавляем в проект Procfile – для heroku, в котором прописываем:
web: node index.js
И заново отправляем файлы на heroku
git add .
git commit -am "make it better"
git push heroku master
И все заработало!
Боремся с засыпанием на Heroku
На бесплатном тарифе heroku сервис засыпает, через пол часа.
Пробуем, для бота Telegram, так как там и не нужен веб, поставить в
Procfile – настройку:
worker: node index.js
И на закладке Resources включаем необходимые настройки.
Просмотр логов на Heroku
heroku logs
Создание переменных окружения в Heroku
На закладке – settings – нажимаем: Reveal cofig vars.
И добавляем.
В коде node.js, их можно использовать так:
process.env.НАЗВАНИЕ_ПЕРЕМЕННОЙ
Чтобы приложение работало постоянно:
При регистрации дают 550 часов бесплатных работы приложения в месяц, для того чтобы получить еще 450 часов бесплатных работы приложения в месяц, придется зарегистрировать банковскую карту.
После этого приложение будет работать весь месяц так как 1100 часов покрывают весь месяц, если приложение конечно одно.
Еще способ чтобы приложение не засыпало, если нужен доступ через веб
Использовать Heroku Newrelic Addon. Плагин предназначен для мониторинга сайта и уведомления о падениях. И не даст заснуть приложению.
Для установки переходим по ссылке: https://elements.heroku.com/addons/newrelic
Далее указываем тарифный план и название приложения, к которому привязать. И нажимаем кнопку “Provision add-on”
Далее он становится доступен в настройках приложения на heroku
Клацаем по нему и на нем нужно будет зарегистрироваться.
Дальше переходим на “SYNTHETICS”
Дальше нажимаем на “add new”
Дальше где Enther the details – указываем произвольное название мониторинга и сайт на heroku – соответственно.
И нажимаем “Create monitor”
Клонирование репозитория с Heroku
Вначале авторизуемся:
heroku login
Клонирование репозитория
heroku git:clone -a bytelandia
cd bytelandia
И деплой как и раньше описано в этой статье:
git add .
git commit -am "make it better"
git push heroku master