Локальный 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, либо соединяйте серверы приватной сетью.
Ключевые цифры
- Если бот только что вышел из облачного API, войти туда снова получится через 10 минут.
- По умолчанию на 8081, порт меняет флаг --http-port.
Термины на странице
- Telegram-бот
- Telegram-бот работает постоянно, поэтому его размещают на сервере, а не на обычном хостинге.
- TLS
- TLS это протокол шифрования, на котором работает HTTPS. Название SSL осталось по привычке.
- Облачный сервер
- Облачный сервер это VPS, ресурсы которого можно менять на ходу, а оплата часто почасовая.
- Nginx
- Nginx это веб-сервер и обратный прокси. Его часто ставят перед приложением, чтобы раздавать статику и держать HTTPS.
- Python
- Python это язык программирования. На сервере на нём часто пишут ботов и скрипты.
- Трафик
- Трафик это объём переданных данных. У одних тарифов он безлимитный, у других платный сверх пакета.
Что проверить
- Выберите конфигурацию по памяти и диску под задачу, процессор обычно вторичен.
- Проверьте тип виртуализации: KVM даёт свою систему и гарантированные ресурсы.
- Уточните, входит ли IPv4 и сколько стоит трафик сверх пакета.
- Храните данные контейнеров в томах.
- Закрепляйте версии образов, а не latest.
- Ограничьте ресурсы контейнеров, чтобы один не съел весь сервер.