Развертывание Python бота Sketal для ВКонтакте на Heroku

Развертывание Python бота Sketal для ВКонтакте на Heroku

Sketal - асинхронный чат-бот для ВКонтакте.
GitHub: https://github.com/vk-brain/sketal

Внимание!
Гайд предполагает что бот уже скачан и настроен.

Содержание:

  1. Регистрация
  2. Установка необходимых пакетов
  3. Аутентификация
  4. Создание приложения Heroku
  5. Подготовка к загрузке на Heroku
  6. Загрузка бота на Heroku через git
  7. Запуск бота
  8. Рекомендации

1. Регистрация

Первым делом создайте аккаунт Heroku:
https://signup.heroku.com/

2. Установка необходимых пакетов

Загрузите и установите соответствующие вашей системе Heroku CLI и Git.

Heroku CLI:

Git:

3. Авторизация

Авторизируйтесь в вашем аккаунте Heroku через terminal/cmd:

heroku login

--------------2018-01-31---20.51.37

4. Создание приложения Heroku

Для начала переместитесь в директорию с расположением бота:

cd %directory%

--------------2018-01-31---21.01.56

Создайте приложение в Heroku:

heroku create %app_name% --buildpack http://github.com/heroku/heroku-buildpack-python.git

%app_name% — название вашего приложения (должно быть уникальным)

--------------2018-01-31---21.05.04

5. Подготовка к загрузке на Heroku

Для того чтобы Heroku принял бота нужно создать необходимые файлы конфигурации:

runtime.txt
Procfile //без расширения

--------------2018-01-31---21.34.21

Заполните созданные файлы:
runtime.txt:

python-3.6.0 или python-3.6.4

Procfile:

worker: python3 bot.py

6. Загрузка бота на Heroku через git

git init
heroku git:remote -a %app_name%
git add .
git commit -am "first deploy"

--------------2018-01-31---21.37.40

git push heroku master

--------------2018-01-31---21.38.35
--------------2018-01-31---21.39.09

7. Запуск бота

Перейдите во вкладку Resources и запустите бота:

--------------2018-01-31---21.41.06-copy

Для того чтобы убедиться что все хорошо - проверьте логи:

--------------2018-01-31---22.02.52

8. Рекомендации

  1. Ежемесячно Heroku выдает 550 часов работы приложений на бесплатном тарифе.
    Привяжите кредитную карточку к аккаунту, и будете получать каждый месяц дополнительные 450 часов:
    https://devcenter.heroku.com/articles/free-dyno-hours

  2. Советую создать бесплатную базу данных Heroku PostgresSQL. Она нужна для работы некоторых плагинов, и, возможно, понадобится вам в дальнейшем.
    Сделать это можно на данной странице:
    https://elements.heroku.com/addons

  3. Для удобного редактирования бота и последующей загрузки на Heroku рекомендую использовть PyCharm:
    https://www.jetbrains.com/pycharm/download/

Остались вопросы? Задавайте в комментариях.