Для бота почти всегда достаточно самой младшей виртуальной машины: минимальный бот на Python помещается в 512 МБ оперативной памяти, а с базой данных и очередью задач ему хватает 1–2 ГБ. Поэтому рабочий ответ на вопрос «где хостить бота» звучит просто: берите недорогой VPS — виртуальный сервер, на котором вы сами запускаете процесс и никто не выключает его через 30 секунд. Подходящие тарифы собраны в разделе хостинг для Python-ботов, там цены начинаются от 139 ₽/мес.
Этот разбор для тех, кто написал первого бота и не понимает, куда его положить, чтобы он работал круглосуточно. Ниже — сравнение четырёх площадок (VPS, обычный виртуальный хостинг, serverless и домашний компьютер) по цене, аптайму и лимитам, таблица реальных цен восьми провайдеров, расчёт памяти под разные типы ботов, пошаговый запуск за 20 минут и готовый systemd-юнит, который поднимает бота после падения.
Что боту нужно на самом деле: постоянный процесс, память и аптайм
Бот — это программа, которая не отвечает на запрос и умирает, а живёт непрерывно. Она либо каждые несколько секунд спрашивает у Telegram «есть новые сообщения?» (это называется long polling — длинный опрос), либо ждёт, пока сервер мессенджера сам постучится к ней по HTTPS (webhook — веб-хук). В первом случае процесс обязан работать 24 часа в сутки без перерывов, во втором — иметь публичный адрес и валидный сертификат.
Отсюда три требования к площадке: право держать фоновый процесс без ограничения по времени, гарантированные 512 МБ памяти и высокий аптайм — долю времени, когда машина включена. Разница между 99,0 % и 99,9 % в месяц — это 7,3 часа простоя против 43 минут.
Процессор в этом списке почти не участвует: бот на 500 пользователей нагружает одно ядро на 2–5 %. Узким местом становится память — каждая библиотека, драйвер базы и пул соединений добавляют по 20–80 МБ. Именно она, а не частота ядра, определяет нужный тариф.

Четыре площадки для бота и чем они отличаются
Вариантов размещения ровно четыре, и различаются они не столько ценой, сколько тем, что вам разрешено делать. Виртуальный сервер даёт полный доступ и полную ответственность, обычный хостинг — готовое окружение с запретами, serverless (когда сервера у вас нет вовсе, платформа сама запускает ваш код на каждое сообщение) берёт деньги за вызовы, а домашний компьютер бесплатен по тарифу и дорог по надёжности.
Сводка ниже — по трём параметрам: цена месяца работы, аптайм и ограничения площадки. Цены — минимальные месячные тарифы из нашего каталога.
| Площадка | Цена в месяц | Аптайм | Главное ограничение |
|---|---|---|---|
| VPS (виртуальный сервер) | от 139 ₽ | 99,9 % и выше по SLA | Настраиваете и обновляете систему сами |
| Виртуальный (shared) хостинг | от 99 ₽ | 99,9 %, но с лимитом процессов | Фоновые процессы часто запрещены или убиваются |
| Serverless (функции) | от 0 ₽ на малом объёме | Зависит от платформы | Только webhook, лимит времени на вызов |
| Домашний ПК или мини-ПК | 0 ₽ аренды + электричество | Ограничен вашим интернетом и светом | Нет статического IP и резервного питания |
Данные проверены 03.09.2026.
Почему обычный виртуальный хостинг не годится под long polling
Shared-хостинг — это когда на одной физической машине живут сотни сайтов и у каждого своя папка. Такая площадка рассчитана на короткие PHP-запросы: пришёл посетитель, скрипт отработал за 200 мс, процесс закрылся. Бот в эту модель не укладывается, потому что его процесс не должен закрываться никогда.
На практике вы упрётесь в один из трёх лимитов: ограничение на число одновременных процессов пользователя (обычно 20–30), сторожевой скрипт, который убивает любой процесс дольше 60–300 секунд, и запрет на исходящие соединения по нестандартным портам.
Формально Python на многих тарифах есть: панель позволяет создать приложение и повесить его на домен. Но это веб-приложение под веб-сервером: оно оживает только на входящий HTTP-запрос и засыпает сразу после ответа. Такой сценарий подходит для webhook-бота с редкими сообщениями и не подходит для polling. Если хочется остаться на классическом хостинге, смотрите тарифы в разделе хостинг для Telegram и обязательно уточняйте у поддержки, разрешены ли постоянные фоновые процессы.
Serverless: когда бот может жить вообще без сервера
Serverless — модель, при которой вы загружаете только функцию-обработчик, а платформа сама поднимает её на время вызова. Для бота это означает жёсткое условие: работает исключительно webhook. Мессенджер присылает обновление, платформа за 100–300 мс запускает контейнер с вашим кодом, тот отвечает и гаснет.
Плюс очевиден: на тысяче сообщений в месяц вы часто остаётесь в бесплатном лимите и платите 0 ₽. Минусов три, и они серьёзные. Холодный старт добавляет к ответу 0,5–3 секунды после паузы в трафике. Состояние между вызовами не сохраняется — нужна внешняя база. И у функции есть потолок времени выполнения, обычно 10–60 секунд, так что долгий парсинг или выгрузка отчёта туда не влезут.
Serverless разумен для ботов-справочников: меню, форма заявки, ответ по базе знаний. Как только появляются планировщик, очередь задач или обработка файлов, вы всё равно возвращаетесь к постоянно работающей машине — и проще сразу взять её.
Домашний компьютер: сколько это стоит на самом деле
Соблазн понятен: машина уже есть, аренда 0 ₽. Считать надо не аренду, а три другие статьи. Электричество: старый системный блок под нагрузкой берёт 60–100 Вт, при круглосуточной работе это ориентировочно 43–72 кВт·ч в месяц. Мини-ПК или одноплатник экономнее — 5–15 Вт, около 4–11 кВт·ч.
Вторая статья — интернет. Домашний провайдер выдаёт серый динамический адрес — он меняется и не виден из интернета. Значит, webhook работать не будет: мессенджеру просто некуда стучаться. Статический IP заказывают отдельно, обычно за 100–300 ₽/мес, и это уже сопоставимо со стоимостью младшего VPS.
Третья и главная — аптайм. Отключение света на 40 минут, перезагрузка роутера, обновление Windows ночью — каждое такое событие роняет бота. Домашняя площадка честно живёт на уровне 97–99 %, то есть до 22 часов простоя в месяц. Подробный расчёт с обеими сторонами есть в материале домашний сервер или VPS.
Сколько стоит VPS под бота: цены восьми провайдеров
VPS — виртуальная машина с собственной операционной системой, выделенной памятью и правами администратора. Для бота это базовый вариант: никто не убивает ваш процесс, порты открыты, можно ставить любые библиотеки. Ниже минимальные тарифы провайдеров, у которых есть подходящие под ботов конфигурации.
Смотрите не только на цену входа, но и на состав младшего тарифа: 0,5 ГБ памяти против 2 ГБ — это разница между «бот на 3 команды» и «бот с базой, вебхуком и фоновыми задачами».
| Провайдер | Цена от | Младший тариф | Тарифов в каталоге |
|---|---|---|---|
| RuVDS | 139 ₽/мес | 1 ядро, 0,5 ГБ RAM, 10 ГБ HDD | 440 |
| 4VPS | 110 ₽/мес | 1 ядро, 1 ГБ RAM, 5 ГБ NVMe | 568 |
| Selectel | 200 ₽/мес | 1 ядро, 1 ГБ RAM, 10 ГБ NVMe | 69 |
| AdminVPS | 299 ₽/мес | 1 ядро, 1 ГБ RAM, 15 ГБ NVMe | 149 |
| Beget | 330 ₽/мес | 1 ядро, 1 ГБ RAM, 10 ГБ NVMe | 7 |
| IQHost | 350 ₽/мес | 1 ядро, 2 ГБ RAM, 15 ГБ SSD | 17 |
| Timeweb Cloud | 477 ₽/мес | 1 ядро, 1 ГБ RAM, 15 ГБ NVMe | 4 |
| Aéza | 593 ₽/мес | 1 ядро, 2 ГБ RAM, 30 ГБ NVMe | 151 |
Данные проверены 03.09.2026.
Разброс от 139 до 593 ₽/мес объясняется дисками и локацией: HDD-тариф всегда дешевле NVMe, а машина в московском дата-центре дешевле европейской. Для бота скорость диска почти не важна — он пишет только логи и небольшую базу. Если бюджет ограничен, начните с подборки недорогие VPS и берите самый младший тариф: перейти на старший можно за 5 минут.
Как подобрать конфигурацию под свой тип бота
Считать память нужно от того, что бот делает, а не от числа подписчиков. Интерпретатор Python со стандартной библиотекой мессенджера занимает 60–90 МБ. Добавьте по 30–60 МБ на каждую тяжёлую зависимость: работа с таблицами, картинками, HTTP-клиент с пулом соединений.
Отдельно считайте базу. SQLite почти ничего не просит и живёт в файле. PostgreSQL на той же машине сразу отъедает 150–250 МБ, а Redis для очереди — ещё 30–50 МБ. Именно эта комбинация и переводит бота из 512 МБ в 2 ГБ.
| Тип бота | RAM | Ядра | Диск | Ориентир по цене |
|---|---|---|---|---|
| Простой бот: меню, ответы, SQLite | 512 МБ | 1 | 10 ГБ | 139–150 ₽/мес |
| Бот с PostgreSQL и вебхуком | 1 ГБ | 1 | 10–15 ГБ | 150–200 ₽/мес |
| Бот с очередью, планировщиком, файлами | 2 ГБ | 1–2 | 15–30 ГБ | 350–600 ₽/мес |
| Торговый бот с историей котировок | 2–4 ГБ | 2 | 30–50 ГБ | от 600 ₽/мес |
На тарифе с 512 МБ обязательно включите swap — файл подкачки на диске, куда система выгружает редко используемые страницы памяти. 1 ГБ swap на такой машине спасает от аварийного завершения процесса, когда бот на пике обработки съедает лишние 100 МБ.
Запуск бота на VPS за 20 минут: пошаговый порядок
Сценарий рассчитан на Ubuntu 22.04 — это версия с длительной поддержкой (LTS), обновления безопасности к ней выходят до 2027 года. Каждая команда снабжена пояснением, что она делает. Всё выполняется в терминале по SSH — защищённому протоколу удалённого доступа к серверу.
- Закажите машину и войдите. Возьмите тариф 1 ядро / 1 ГБ / 10 ГБ, выберите Ubuntu 22.04 и подключитесь командой
ssh root@ВАШ_IP. Пароль придёт в письме, но лучше сразу настроить SSH-ключ вместо него. - Обновите систему и поставьте Python.
apt update && apt -y upgradeподтягивает свежие пакеты,apt -y install python3-venv gitставит Python с изолированным окружением и Git. Занимает 2–4 минуты. - Создайте отдельного пользователя.
adduser bot— бот не должен работать от root, иначе любая уязвимость в библиотеке даёт злоумышленнику всю машину. - Загрузите код и окружение. Под пользователем bot выполните
git cloneвашего репозитория, затемpython3 -m venv venvиvenv/bin/pip install -r requirements.txt— виртуальное окружение изолирует зависимости от системных. - Спрячьте токен. Положите его в файл
.envи закройте командойchmod 600 .env— после этого файл читает только владелец. В коде берите токен из переменной окружения, а не пишите строкой. Токен в коде на GitHub находят сканеры за 2–3 минуты. - Оформите автозапуск. Создайте systemd-юнит из следующего раздела, чтобы бот стартовал при загрузке сервера и перезапускался после сбоя.
После шестого шага перезагрузите машину командой reboot и через минуту проверьте, что бот отвечает. Это единственный честный тест автозапуска. Развёрнутая версия инструкции со скриншотами панели — в гайде как развернуть Telegram-бота на VPS.

systemd-юнит с Restart=always: бот поднимается сам
systemd — штатный менеджер служб в Ubuntu и Debian. Он умеет запускать вашу программу при загрузке системы и следить, чтобы она не пропадала. Юнит — это текстовый файл с описанием службы, который кладут в /etc/systemd/system/mybot.service.
Ключевая строка здесь — Restart=always: она означает «подними процесс заново при любом завершении, штатном или аварийном». Вторая по важности — RestartSec=5: пауза 5 секунд перед перезапуском, чтобы при сломанном токене служба не устроила сотни попыток в минуту.
[Unit]
Description=Telegram bot
After=network-online.target
[Service]
User=bot
WorkingDirectory=/home/bot/mybot
ExecStart=/home/bot/mybot/venv/bin/python bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Дальше три команды: systemctl daemon-reload перечитывает файлы юнитов, systemctl enable --now mybot включает автозапуск и стартует службу немедленно, journalctl -u mybot -f показывает живой лог. Строка After=network-online.target заставляет систему дождаться сети — без неё бот при загрузке падает на первой же попытке достучаться до API.
Discord-боты и торговые боты: чем отличаются требования
Discord-бот держит со шлюзом платформы постоянное WebSocket-соединение — открытый канал, по которому события приходят сами, без опроса. Это дешевле по процессору, чем опрос, но требование к аптайму строже: после обрыва бот обязан переподключиться, иначе он молча висит «в сети» и не реагирует. Памяти на голосовые функции уходит больше — от 1 ГБ, потому что обработка звука держит буферы. Детали по площадкам собраны в разборе хостинг для Discord-бота.
Торговый бот отличается третьим требованием — задержкой до биржи. Разница между сервером в Москве и во Франкфурте для российских площадок составляет 40–60 мс. Для стратегий на минутных свечах это неважно, а для арбитража — заработка на разнице цен между биржами — критично. Второе отличие — история котировок на диске: 30–50 ГБ набегает за год.
Общее у всех трёх типов — Telegram, Discord и торгового — одно: им нужна машина, которая не выключается. Поэтому выбор площадки в 90 % случаев сводится к младшему VPS для Python, а различаются только объём памяти и локация дата-центра.
Частые ошибки при выборе хостинга для бота
Большинство проблем возникает не из-за слабого железа, а из-за неверных ожиданий от площадки. Ниже пять ситуаций, которые чаще всего приводят к переезду через две недели после запуска.
Отдельно отмечу последнюю: бэкап на той же машине бэкапом не является. Если сервер удалят за неоплату, вместе с ним исчезнет и архив.
- Взять тариф на 0,5 ГБ под бота с PostgreSQL. База и интерпретатор вместе просят 300–400 МБ, система забирает ещё 150 МБ, и процесс завершается по нехватке памяти на первом же пике.
- Запускать бота через
nohupв терминале. Процесс переживёт закрытие сессии, но не переживёт перезагрузку сервера. Нужен systemd-юнит. - Работать от root. Одна уязвимая зависимость — и машина переходит в чужие руки вместе с токенами.
- Не смотреть логи. Без
journalctlвы узнаете о падении от пользователей через сутки, а не через 5 секунд от мониторинга. - Хранить единственную копию базы на сервере. Настройте выгрузку дампа на внешнее хранилище хотя бы раз в 24 часа.
Частые вопросы
Сколько памяти нужно Telegram-боту? Простому боту с меню и SQLite достаточно 512 МБ, и такие тарифы стоят от 139 ₽/мес. Как только добавляются PostgreSQL, Redis или обработка изображений, планка поднимается до 1–2 ГБ. Считайте так: 60–90 МБ на интерпретатор с библиотекой, 150–250 МБ на базу, остальное — запас.
Можно ли держать бота на обычном виртуальном хостинге? Только в режиме webhook и только если провайдер прямо разрешает постоянные фоновые процессы. Долгий polling там почти всегда обрывается сторожем, который убивает процессы дольше 60–300 секунд. Уточняйте условия в поддержке до оплаты.
Что дешевле: VPS или serverless? На объёме до тысячи сообщений в месяц serverless часто выходит в 0 ₽, VPS — от 139 ₽/мес. Но serverless не умеет polling, теряет состояние между вызовами и добавляет 0,5–3 секунды холодного старта, поэтому для ботов с фоновыми задачами дешевле оказывается сервер.
Сколько ботов можно запустить на одной машине? На тарифе с 1 ГБ памяти спокойно живут 3–5 простых ботов, каждый своим systemd-юнитом и своим виртуальным окружением. Если у каждого своя база, считайте по памяти: сумма всех процессов не должна превышать 70 % доступной RAM.
Нужен ли боту домен и SSL-сертификат? Для polling — нет, бот сам ходит наружу и ему хватает IP-адреса. Для webhook домен и валидный сертификат обязательны, потому что мессенджер стучится только по HTTPS. Бесплатный сертификат выпускается за 1–2 минуты.
Какую операционную систему выбрать? Ubuntu 22.04 или 24.04: под них написано большинство инструкций, а Python 3.10+ ставится из штатного репозитория. Windows под бота на Python брать незачем — он дороже по лицензии и требует минимум 2 ГБ памяти только на систему.
Что делать, если бот падает раз в сутки? Сначала посмотрите journalctl -u mybot --since today: в 8 случаях из 10 это исключение в коде или обрыв соединения с API. Строка Restart=always поднимет процесс за 5 секунд, но причину она не лечит — правьте обработку ошибок.
Итог
Для бота нужна не мощность, а непрерывность: постоянный процесс, гарантированные от 512 МБ до 2 ГБ памяти и аптайм от 99,9 %. Обычный виртуальный хостинг режет фоновые задачи, serverless годится только под webhook без состояния, домашний ПК проигрывает по свету и адресу. Остаётся младший VPS за 139–200 ₽/мес с systemd-юнитом и Restart=always.
Отберите тариф по памяти, а не по цене: 512 МБ — простой бот, 1 ГБ — бот с базой, 2 ГБ — бот с очередью и файлами. Готовые варианты с фильтрами по конфигурации и локации собраны в разделе VPS для Telegram-бота.