Гайд Бесплатный хостинг для вашего приложения (Discord bot, python applications, node, java and other)

ставь чайник, зажигай плиту
Эксперт
Эксперт
Статус
Оффлайн
Регистрация
22 Май 2020
Сообщения
1,448
Реакции
1,092
Делаю тему с целью освящения тех, кто только только начал заниматься своими приложениями и хочет их поставить на какой-либо сервис, поддерживающий 24/7 его приложение. Тема в разделе пайтона, т.к буду показывать на примере приложения на Python.

Вступление

Сам сервис -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Список поддерживаемых языков: Node.js, Ruby, Java, PHP, Python, Go, Scala, Clojure

Heroku пригодится для бесплатного использования, среди других бесплатных аналогов, коих не много, лучше него я не видел (возможно могу ошибаться, т.к ознакомился не со всеми аналогами, но, как минимум по доступности, heroku мне приглянулся больше остальных).

Регистрация

Начнём с азов - регистрации.
Регистрация может показаться объёмной, однако, она не занимает много времени - помимо привычного почта:логин:пароль от вас также попросят ввести своё имя/фамилию, вашу роль на вашей работе, страну и основной язык программирования. Можете отвечать как угодно, вряд-ли вас будут вообще проверять.

Начало работы

После регистрации и авторизации переходим в вашу панель управления приложениями. (
Пожалуйста, авторизуйтесь для просмотра ссылки.
)
Создаём новое приложение путём клика кнопочки NEW сверху справа панели (выбираем new app, если вы уже знаете, что такой pipeline, можете выбрать соответственно и его, если в этом есть необходимость). (
Пожалуйста, авторизуйтесь для просмотра ссылки.
)
Вписываем название вашего приложения, а также сервер, на котором ваше приложение будет располагаться.

Отлично, мы создали наше первое приложение.
1613842663029.png


Работа с приложением

Далее, следует определиться, как мы хотим заливать наше приложение.
  • Путём командной строки (также включает в себя клон git репозитория)
  • Путём подключения нашего github аккаунта
  • Container Registry - не использовал, рассматривать не буду.
Переходим во вкладку Deploy и видим поле Deployment method - выбираем любой способ, который вы считаете более удобным. Мне по душе пришёлся способ с подключением Github аккаунта, так как в нём есть дополнительная относительно удобная функция, о которой я расскажу чуть позже.

Ничего трудного в любом из этих способов нет - Heroku прилагает инструкцию к каждому пункту. Рассмотрю пункт с Github подключением.

Procfile

Прежде чем заливать наше приложение, нужно создать Procfile в корне вашего репозитория - некий двигатель процесса.
Создаём файл с названием Procfile без расширения со следующим содержанием:
Код:
Expand Collapse Copy
worker: python start.py
где start.py - ваш файл, который требуется запустить, а python - язык программирования;
worker же - alphanumeric name for your command (Heroku description)
Более подробно ознакомиться с данным материалом -
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
(кликабельные ссылки)

Github connect & Deploy

Привязываем аккаунт Github по интуитивно понятной инструкции от Heroku. Далее появится поле с поиском репозитория среди репозиториев нашего связанного аккаунта Github - в поиске пишем нужный и выбираем его; выбираем ветку репозитория; Нажимаем кнопку Deploy Branch

После успешного деплоя советую обратить внимание на поле Automatic deploys: оно позволит автоматически обновлять приложение Heroku с каждым Push-обновлением репозитория. Достаточно удобно и полезно, если вы грамотно заливаете обновления и предварительно тестируете всё.

Старт работы приложения

После успешного деплоя заходим в таб Resourcesи находим данное поле (оно появится, если вы правильно сделали Procfile):
1613843741369.png


Сверху показывается текущий план - Free Dynos. Нормальный, стабильный, бесплатный тариф. Больше ничего сказать не могу. С небольшими задачи справляется на ура. На более масштабных приложениях не тестировал. Вы можете перейти на платные тарифы - соответственно получите новые бонусы в виде апгрейда сервера и других плюшек. Мне хватает и бесплатного тарифа.

Ниже вы увидите ваш контент Procfile'а: для запуска нажимаем кнопочку редактирования справа, перетаскиваем выключатель и подтверждаем.
Спустя небольшой промежуток времени нашего приложения начнёт свою работу.

После регистрации вам станет доступно всего 550 бесплатных часов, однако, по простым подсчётам, можно смело утверждать, что для поддержки приложения 24/7 этого не хватит, и вы будете правы. Для получения ещё 450 часов нам нужно пройти верификацию, привязать карту в настройках вашего аккаунта. Это безопасно, уже пол года никаких операций с картой не было и не будет. Теперь у нас будут 1000 часов, которые будут обновляться каждый месяц, их нам как раз хватит для поддержки приложения 24/7.

Логи приложения

Для просмотра логов вашего активного приложения, вам понадобится установить
Пожалуйста, авторизуйтесь для просмотра ссылки.
, что позволит работать с Heroku в CMD.

После установки открываем командную строку и пишем команду 'heroku' для проверки и последующего логина.
После авторизации пишем команду: 'heroku logs --app НАЗВАНИЕ_ПРИЛОЖЕНИЯ' (ну и пишем своё название приложения в указанном месте).

Теперь нам доступны логи нашего приложения.

Buildpacks

Иногда вам придётся использовать сторонние билдпаки, которые позволят расширить функционал работы приложения. Например - установим ffmpeg для музыкального бота дискорд.

Переходим во вкладку Settings вашего приложения и видим следующее:
1613844316527.png


Нажимаем Add buildpack и вставляем ссылку на билдпак (
Пожалуйста, авторизуйтесь для просмотра ссылки.
для ffmpeg). Найти их можно просто при помощи поиска в гугле.

Концовка

Существуют и другие полезные настройки приложения, но сами основы я расписал тут.
Удачи в использовании, что ли ?
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Интересно, кто хероку не знал?
 
Кто не знал о Хероку? Зачем столько текста ради такого легкого сервиса?
 
Кто не знал о Хероку? Зачем столько текста ради такого легкого сервиса?
Интересно, кто хероку не знал?
Делаю тему с целью освящения тех, кто только только начал заниматься своими приложениями и хочет их поставить на какой-либо сервис, поддерживающий 24/7 его приложение
 
тааак, у меня проблема, я вообще запутался, у меня аккаунт не подключается, если не трудно то могите
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1613966946363.png

и так, а почему он не видит файл? вроде все правильно создал
в файле:
worker: python bot.py
 
Спасибо, я не знал : )
 
Привет, а что делать если для работы нужен git, питон 3.7, а heroku качает 3.9
 
Назад
Сверху Снизу