Как подобрать VPS для Telegram-бота
Почему боту хватает минимального VPS, когда нужно больше RAM, зачем стабильный аптайм и как не переплатить.
Для кого эта задача
Telegram-бот должен работать круглосуточно, поэтому его держат не на домашнем компьютере, а на VPS. Подходит для ботов на python-telegram-bot, aiogram, node-telegram-bot-api и т.п.
Большинству ботов не нужен мощный сервер: нагрузка невелика, ключевое — стабильный аптайм и постоянное подключение к сети.
Минимальные и рекомендуемые ресурсы
Простой бот (команды, уведомления, небольшая аудитория): 1 vCPU, 512 МБ – 1 ГБ RAM, 10 ГБ SSD.
Бот с базой данных, очередями или обработкой медиа: 2 vCPU, 1–2 ГБ RAM.
Тяжёлая логика (ML-инференс, парсинг, много воркеров) — смотрите в сторону dev-сервера или конфигураций под ИИ.
На что обратить внимание
Аптайм и стабильность сети. Для бота важнее надёжность, чем мощность: ищите провайдера с хорошим SLA.
Регион. RU или EU — оба подходят; на скорость ответа Telegram влияет слабо, выбирайте по цене и близости.
Автозапуск. Настройте systemd/supervisor или Docker с рестартом, чтобы бот поднимался после перезагрузки.
Не переплачивайте. Для большинства ботов самый дешёвый VPS — оптимальный выбор.
Webhook или long polling
Бот получает сообщения одним из двух способов. Long polling проще: бот сам опрашивает Telegram, ничего настраивать не нужно, сервер может стоять за любым сетевым оборудованием. Webhook требует домена, HTTPS-сертификата и открытого порта, зато отклик быстрее и нагрузки меньше.
Для небольшого бота разница незаметна — начинайте с long polling. К webhook переходят, когда сообщений становится много или когда важна минимальная задержка ответа.
На выбор сервера это влияет мало: webhook добавляет лишь необходимость домена и сертификата, а не требований к железу.
Хранение данных бота
Как только бот запоминает что-то о пользователях, появляется база. Для простых сценариев хватает SQLite — отдельный процесс не нужен, память практически не расходуется. Для нескольких воркеров или заметного объёма записей берут PostgreSQL, и тогда памяти нужно ощутимо больше.
Отдельно подумайте о резервных копиях: диалоги, настройки и история — это то, что пользователи считают сохранённым. Регулярная выгрузка базы в другое место занимает несколько строк в планировщике.
Если бот обрабатывает медиа, заранее решите, где хранить файлы: диск младшего тарифа заполняется картинками быстрее, чем ожидается.
Что делать при сбоях и лимитах Telegram
Бот должен переживать перезагрузку сервера и собственный сбой без вашего участия. Автозапуск через systemd или Docker с политикой перезапуска — обязательный минимум, иначе бот однажды тихо остановится, и вы узнаете об этом от пользователей.
Полезно добавить простой мониторинг: внешняя проверка, что бот отвечает на команду, и уведомление вам при отсутствии ответа. Это дешевле любого сложного решения и закрывает основную боль.
И учтите ограничения самого Telegram на частоту отправки сообщений: при массовых рассылках упираются именно в них, а не в мощность сервера. Рассылку стоит делать очередью с задержкой, а не циклом.
Типичные ошибки
Брать дорогой тариф «про запас» для простого бота — деньги на ветер.
Не настроить автоперезапуск: после ребута сервера бот молча отключится.
Держать бота на shared-хостинге без постоянного процесса — так он работать не будет.
Чек-лист перед выбором
- 1–2 vCPU
- 512 МБ – 2 ГБ RAM (по сложности бота)
- SSD от 10 ГБ
- Хороший аптайм/SLA провайдера
- Регион RU или EU
- Настроен автозапуск (systemd/Docker)
Частые вопросы
Какой VPS нужен для Telegram-бота?
Простому боту с командами, уведомлениями и небольшой аудиторией достаточно 1 vCPU, 512 МБ – 1 ГБ RAM и 10 ГБ SSD. Боту с базой данных, очередями или обработкой медиа — 2 vCPU и 1–2 ГБ RAM. Для большинства ботов самый дешёвый VPS и есть оптимальный выбор.
Можно ли держать Telegram-бота на обычном хостинге?
Нет. Боту нужен постоянно работающий процесс, а shared-хостинг этого не даёт. Нужен VPS, где вы сами управляете запуском сервисов.
Что важнее для бота — мощность или надёжность?
Надёжность. Нагрузка у большинства ботов невелика, а вот аптайм и стабильность сети критичны, поэтому смотрите на SLA провайдера. Обязательно настройте автозапуск через systemd, supervisor или Docker с рестартом: иначе после перезагрузки сервера бот молча отключится.