Локальный Telegram Bot API server в Docker Compose: термины и чек-лист

Подробности, цифры, термины и чек-лист по теме «Локальный Telegram Bot API server в Docker Compose». Страница справочника целиком: Свой Telegram Bot API server в Docker Compose.

Коротко о теме

Свой Telegram Bot API server в Docker Compose: сборка из исходников tdlib, режим --local для файлов до 2000 МБ, вебхук на любой порт и logOut.

Подробности по разделам

Что даёт свой Telegram Bot API server

Код сервера открыт под Boost Software License.

Где взять api_id и api_hash для Bot API server

Пара привязана к вашему аккаунту, поэтому храните её как пароль: в файле.env с правами 600, вне репозитория.

Telegram Bot API server в Docker Compose

Если бот тоже в контейнере, подключите к нему том./data: в режиме --local он читает скачанные файлы прямо с диска.

Как переключить бота на локальный Bot API

После выхода вернуться в облако можно только через 10 минут. Для переезда между двумя своими серверами есть метод close: удалите вебхук, закройте экземпляр и перенесите подпапку бота из рабочей папки старого сервера.

Вебхук через локальный Telegram Bot API

Сам Bot API server понимает только HTTP. Если обращаться к нему нужно с другого сервера, ставьте перед ним прокси с TLS, например Nginx или Caddy, либо соединяйте серверы приватной сетью.

Ключевые цифры

Термины на странице

Telegram-бот
Telegram-бот работает постоянно, поэтому его размещают на сервере, а не на обычном хостинге.
TLS
TLS это протокол шифрования, на котором работает HTTPS. Название SSL осталось по привычке.
Облачный сервер
Облачный сервер это VPS, ресурсы которого можно менять на ходу, а оплата часто почасовая.
Nginx
Nginx это веб-сервер и обратный прокси. Его часто ставят перед приложением, чтобы раздавать статику и держать HTTPS.
Python
Python это язык программирования. На сервере на нём часто пишут ботов и скрипты.
Трафик
Трафик это объём переданных данных. У одних тарифов он безлимитный, у других платный сверх пакета.

Что проверить

  1. Выберите конфигурацию по памяти и диску под задачу, процессор обычно вторичен.
  2. Проверьте тип виртуализации: KVM даёт свою систему и гарантированные ресурсы.
  3. Уточните, входит ли IPv4 и сколько стоит трафик сверх пакета.
  4. Храните данные контейнеров в томах.
  5. Закрепляйте версии образов, а не latest.
  6. Ограничьте ресурсы контейнеров, чтобы один не съел весь сервер.

Связанные страницы