systemd-юнит
Пять строк конфигурации — и бот стартует при загрузке, перезапускается при падении и пишет в journalctl. Всегда лучше, чем screen или nohup.
Боту на aiogram или telegraf с аудиторией до нескольких тысяч человек хватает NODE-1 за 428 ₽ в месяц. Ресурсы здесь почти никогда не узкое место — важнее стабильность соединения с API Telegram и то, переживёт ли бот перезагрузку сервера.
| Что за бот | Тариф | Почему | Цена / мес | |
|---|---|---|---|---|
| Один бот, до 5 000 пользователей | NODE-1 | Python-процесс занимает 80–150 МБ, остальное — запас | 428 ₽ | Взять |
| Бот + PostgreSQL или Redis | NODE-2 | База просит память под кеш, 4 ГБ хватает надолго | 765 ₽ | Взять |
| Несколько ботов, очереди, воркеры | NODE-4 | Docker Compose с пятью-шестью контейнерами | 1 418 ₽ | Взять |
| Обработка медиа, конвертация видео | NODE-6 и выше | ffmpeg упирается в процессор, нужны реальные ядра | 2 540 ₽ | Взять |
Все тарифы — KVM с выделенными ядрами: соседи по ноде не отнимут процессорное время в момент, когда бот разбирает очередь сообщений.
Серверы Telegram Bot API находятся в Европе, поэтому европейские площадки дают самую низкую задержку до них. Но при выборе учитывайте не только это.
Задержка до API влияет только на скорость ответа бота на 10–40 мс — заметно при интенсивной обработке, незаметно при обычной переписке. Если бот работает через webhook, важнее стабильность канала, а не абсолютное значение пинга.
Long polling проще: бот сам опрашивает API, наружу открывать ничего не нужно, TLS-сертификат не требуется. Для 90 % ботов этого достаточно, и это правильный выбор по умолчанию.
Webhook экономнее и быстрее при большой нагрузке, но требует открытого 443 порта, домена и валидного сертификата. Понадобится nginx с Let's Encrypt перед приложением.
Самая частая проблема начинающих — бот, запущенный из терминала через python bot.py: он умирает вместе с ssh-сессией, а после перезагрузки сервера не поднимается вовсе.
Пять строк конфигурации — и бот стартует при загрузке, перезапускается при падении и пишет в journalctl. Всегда лучше, чем screen или nohup.
Не запускайте бота от root. Заведите пользователя, положите код в его домашний каталог — при компрометации токена ущерб ограничится одним аккаунтом.
Если бот хранит состояние в SQLite или PostgreSQL — настройте автобэкап. Восстанавливать переписку пользователей из ниоткуда вы не сможете.
Для бота на aiogram или telegraf — с большим запасом: сам процесс занимает 80–150 МБ. Память начинает заканчиваться, когда рядом ставят PostgreSQL, Redis и три контейнера, — тогда берите NODE-2 или выше.
Только для webhook. При работе через long polling бот обходится IP-адресом и вообще не принимает входящих соединений — так даже безопаснее.
Да, ограничений нет. Разнесите их по отдельным systemd-юнитам или контейнерам, чтобы падение одного не тянуло за собой остальные. На NODE-2 спокойно живут пять-семь небольших ботов.
Ограничения Telegram накладываются на токен бота, а не на сервер, поэтому смена хостинга ничего не решает. Соблюдайте лимиты: не более 30 сообщений в секунду суммарно и одного сообщения в секунду в конкретный чат.
Да, если вас устраивает оплата криптовалютой и отсутствие договора с печатью. Для сервисов, принимающих платежи от третьих лиц, нужно предварительное согласование — напишите до запуска, подберём локацию и профиль.
NODE-1 при оплате за 12 месяцев — 351 ₽ в месяц вместо 428 ₽, то есть 4 212 ₽ за год. Цена фиксируется при продлении и не растёт для действующих клиентов.
Ubuntu с Docker в комплекте, root-доступ через 47 секунд после оплаты.