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

Развертывание Python бота Sketal для ВКонтакте на Heroku
💡
Heroku больше не предоставляет бесплатную возможность деплоя: FAQ
💡
Sketal бот архивирован и больше не поддерживается, вместо него можете попробовать Kutana

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
Процесс авторизации в Heroku

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
Процесс создания приложения в Heroku

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

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

runtime.txt
Procfile //без расширения
--------------2018-01-31---21.34.21
Созданные пустые файлы: runtime.txt, Procfile

Заполните созданные файлы:
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"
git init
heroku git:remote -a %app_name%
git add .
git commit -am "first deploy"
--------------2018-01-31---21.37.40
Создание Git репозитория для загрузки на Heroku
git push heroku master
--------------2018-01-31---21.38.35
Деплой бота на Heroku с помощью Git
--------------2018-01-31---21.39.09
Успешная загрузка бота

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

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

--------------2018-01-31---21.41.06-copy
Административная панель Heroku

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

--------------2018-01-31---22.02.52
Логи в административной панели Heroku

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

  • Ежемесячно Heroku выдает 550 часов работы приложений на бесплатном тарифе. (УЖЕ НЕ ВЫДАЕТ)
    Привяжите кредитную карточку к аккаунту, и будете получать каждый месяц дополнительные 450 часов:
    https://devcenter.heroku.com/articles/free-dyno-hours
  • Советую создать бесплатную базу данных Heroku PostgresSQL. Она нужна для работы некоторых плагинов, и, возможно, понадобится вам в дальнейшем.
    Сделать это можно на данной странице:
    https://elements.heroku.com/addons
  • Для удобного редактирования бота и последующей загрузки на Heroku рекомендую использовать PyCharm:
    https://www.jetbrains.com/pycharm/download/

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