Бесплатный хостинг для тг бота: 5 лимитов и переход на VPS

Хостинг для тг бота бесплатно: пределы и переход на VPS

Марина
Марина
📅 6 сентября 2026 ⏱ 15 мин чтения 👁 17 просмотров
Хостинг для тг бота бесплатно: пределы и переход на VPS

Бесплатно запустить телеграм-бота реально: облачные песочницы, ученические тарифы и бесплатные уровни облаков дают 0,5–1 ГБ памяти и несколько сотен часов работы в месяц. Проблема начинается позже — контейнер засыпает после 15–30 минут без запросов, файлы стираются при каждом перезапуске, а лимит исходящих соединений режет ответы бота в час пик. Когда бот перестаёт быть учебным, его переносят на VPS для телеграм-бота, где 1 ядро и 1 ГБ памяти стоят от 59 ₽ в месяц — меньше, чем чашка кофе.

Материал для тех, кто написал первого бота на Python или Node.js и выбирает, где его держать. Разберём, что именно дают бесплатные площадки, по каким четырём причинам они ломаются, сколько ресурсов ест бот на 1000–2000 активных пользователей и с какой точки платный сервер выходит дешевле бесплатного — если считать не деньги, а потерянные заказы и часы отладки.

Что скрывается за словом «бесплатный хостинг для бота»

Под бесплатным хостингом для бота обычно понимают три разные вещи, и путать их дорого. Первая — бесплатный уровень облачной платформы: вам дают контейнер с 256–512 МБ памяти и квоту в 500–750 часов работы в месяц. Вторая — ученические песочницы онлайн-редакторов: код выполняется прямо в браузерной среде, пока вкладка открыта или пока не истечёт таймер сессии.

Третья история — бесплатный хостинг классического типа: место под сайт с PHP и MySQL, где долгоживущие процессы просто запрещены правилами. Для бота это тупик: боту нужен процесс, который висит в памяти сутками, а shared-площадка убивает такие процессы по таймауту в 30–120 секунд.

Есть и четвёртый вариант, который часто называют бесплатным ошибочно, — пробный период платного сервера. Это полноценный хостинг телеграм-бота с root-доступом, просто оплаченный провайдером за вас на 3–7 дней. Такие пробные серверы ведут себя как обычный сервер и годятся для честного теста нагрузки, чего нельзя сказать о песочницах.

Засыпание контейнера: главный дефект бесплатных площадок

Бесплатные уровни облаков экономят ресурсы простым способом: если в контейнер 15–30 минут не приходило запросов, платформа его останавливает. Следующее сообщение пользователя запускает контейнер заново, и на холодный старт уходит от 5 до 40 секунд в зависимости от размера образа и языка. Пользователь в этот момент видит тишину: бот не ответил.

Для бота это хуже, чем для сайта. Сайт после холодного старта просто откроется медленнее, а бот на long polling за время сна вообще не забирал обновления и получает их пачкой. Если очередь накопила 40–60 сообщений, они обработаются разом, и пользователь получит ответы на вопросы, которые задавал двадцать минут назад.

Будить контейнер пингом раз в 10 минут — плохая идея по двум причинам. Во-первых, вы съедаете квоту часов: 720 часов в месяце против выданных 500–750, и к 20-му числу лимит закончится. Во-вторых, многие площадки прямо запрещают искусственное поддержание активности и блокируют аккаунт. На собственном сервере вопрос закрыт: процесс под systemd работает 24 часа в сутки без всяких ухищрений.

Сравнение бесплатного хостинга и VPS для бота
Бесплатные площадки засыпают, сервер работает круглосуточно

Лимиты: часы, память, диск и число процессов

Второй барьер — жёсткие квоты. Типовой бесплатный уровень выдаёт 256–512 МБ памяти, 0,1–0,25 доли ядра и от 500 до 750 часов в месяц. Бот на aiogram или python-telegram-bot стартует и занимает 60–110 МБ, но как только вы подключите обработку изображений через Pillow или выгрузку в Excel, потребление прыгает до 250–400 МБ — и процесс убивает OOM-killer, механизм ядра Linux, который вышибает самый прожорливый процесс при нехватке памяти.

Отдельная ловушка — rate limit, ограничение числа запросов. Платформы ограничивают исходящие HTTP-соединения: например, 100 запросов в минуту с одного контейнера. Telegram Bot API сам по себе разрешает около 30 сообщений в секунду в разные чаты, но упереться вы успеете не в него, а в лимит площадки.

Диска обычно дают 512 МБ — 1 ГБ, и он чаще всего эфемерный. На VPS даже минимальные тарифы дают 10 ГБ NVMe, а swap (файл подкачки на диске, куда система выгружает неактивные страницы памяти) вы настраиваете сами и получаете запас на всплески. Разница между «нельзя» и «настрой как нужно» — это и есть разница между бесплатным уровнем и недорогим VPS.

Куда исчезают данные бота при перезапуске

Самая обидная поломка — потеря данных. Бесплатные контейнеры почти всегда работают на эфемерной файловой системе: при каждом деплое или перезапуске диск возвращается к состоянию из образа. Ваш файл users.db с SQLite, куда бот записывал подписчиков, просто исчезает вместе с 400 записями.

Новички узнают об этом не сразу: пока контейнер живёт, база на месте, и всё выглядит рабочим. Потеря происходит через неделю-две, обычно после обновления кода. Восстановить нечего — бэкапов на бесплатном уровне не делают, а выгрузить файл из остановленного контейнера нельзя.

Лечится это переносом состояния во внешнюю базу, но тогда бесплатность заканчивается: managed-PostgreSQL стоит от 300–500 ₽ в месяц, что уже дороже целого VPS за 59–150 ₽ с локальной базой на диске. На своём сервере SQLite или PostgreSQL живёт рядом с ботом, а настроенные бэкапы копируют файл базы раз в сутки по расписанию.

Вебхуки и long polling: почему на бесплатном выбирают второе

Бот получает сообщения двумя способами. Long polling — бот сам раз в несколько секунд спрашивает у Telegram: «есть новое?». Вебхук — Telegram сам стучится на ваш адрес, как только пришло сообщение. Вебхук быстрее и экономнее, но требует трёх вещей: постоянного публичного адреса, открытого порта 443 или 8443 и валидного TLS-сертификата.

На бесплатных площадках вебхук либо недоступен, либо ломается вместе с засыпанием: Telegram шлёт запрос, контейнер спит, приходит ошибка. После нескольких сотен неудачных доставок Telegram снижает частоту попыток, и часть сообщений теряется. Поэтому в бесплатных руководствах почти всегда предлагают long polling — он работает хоть как-то.

На VPS вебхук ставится за 15 минут: получаете бесплатный сертификат Let’s Encrypt, ставите перед ботом nginx и указываете адрес через метод setWebhook. Задержка ответа падает с 1–3 секунд до 200–400 мс, а нагрузка на процессор уменьшается: бот больше не делает 20 холостых запросов в минуту.

Сравнение: бесплатная площадка против VPS за 59 ₽

Свести всё в таблицу проще, чем спорить. Ниже — пять критериев, по которым бот падает чаще всего, и поведение двух вариантов размещения. Колонка VPS описывает минимальный тариф с 1 ядром и 1 ГБ памяти — тот самый, что стоит 59–150 ₽ в месяц.

Критерий Бесплатная площадка VPS от 59 ₽/мес
Аптайм Сон после 15–30 минут тишины, холодный старт 5–40 с Процесс работает 24/7, SLA 99,9 % в договоре
Лимиты 256–512 МБ памяти, 500–750 часов в месяц 1 ГБ памяти, 1 ядро, 720 часов без квот
Хранение данных Эфемерный диск, база стирается при деплое 10 ГБ NVMe, файлы и база живут постоянно
Вебхуки Часто недоступны, ломаются при засыпании Свой домен, порт 443, TLS, задержка 200–400 мс
Цена 0 ₽ до исчерпания квоты 59–150 ₽/мес, годовая оплата от 708 ₽

Данные проверены 02.09.2026.

Запуск телеграм-бота через systemd
Бот перезапускается автоматически (иллюстрация интерфейса)

Когда бесплатного действительно достаточно

Не каждому боту нужен сервер. Есть три сценария, где бесплатная площадка — правильный выбор, и тратить 59 ₽ незачем.

Первый — учебный бот. Вы разбираетесь с библиотекой, шлёте себе «Привет» и проверяете кнопки. Аудитория — вы и два товарища, обращений 10–30 в день, данных нет вообще. Засыпание контейнера здесь незаметно: вы всё равно пишете боту раз в час.

Второй — тестирование логики перед публикацией. Проверить, что сценарий из 12 шагов проходится без ошибок, можно и на песочнице. Главное — не тащить на бесплатный уровень боевой токен: если контейнер уснёт с активным вебхуком, реальные пользователи получат тишину.

Третий — редкие служебные боты. Уведомлялка, которая раз в сутки шлёт вам отчёт по крону, не страдает от холодного старта: она сама просыпается, отправляет сообщение и засыпает. Такой бот спокойно живёт на бесплатном уровне годами и укладывается в 30–50 часов работы в месяц.

Когда пора переезжать на платный сервер

Признаки перехода видно по самому боту, а не по счётчику ресурсов. Как только появляется любой из них, бесплатный вариант перестаёт окупать сэкономленные деньги.

  • Приём оплаты. Бот выставляет счета или работает с платёжным провайдером — вебхук об успешной оплате обязан дойти, а спящий контейнер его теряет.
  • База данных. Есть таблица пользователей, заказов или подписок, которую нельзя восстановить вручную.
  • Круглосуточная аудитория. Обращения приходят ночью и в выходные, и задержка ответа на 30 секунд читается как поломка.
  • Фоновые задачи. Рассылки по расписанию, парсеры, очереди — всему этому нужен постоянный процесс и crontab.
  • Свыше 300–500 активных пользователей. На этом объёме упираются в память и лимит исходящих запросов.

Отдельный повод — репутация. Если бот привязан к бизнесу, каждое «не отвечает» превращается в вопрос в личке. Стоимость такого вопроса выше 59 ₽ в месяц уже на второй неделе.

Сколько ресурсов ест бот на 1000–2000 пользователей

Цифры пугают новичков сильнее, чем нужно. Бот на 1000–2000 активных пользователей уверенно живёт на 1 ядре и 1 ГБ памяти — это подтверждается и типовыми конфигурациями из подборки VPS под ботов, и практикой. Сам процесс на Python занимает 80–150 МБ, PostgreSQL с базой на 50 тысяч строк — ещё 120–200 МБ, nginx — около 20 МБ.

Итого в пике набегает 350–450 МБ при доступном гигабайте. Запас нужен на всплески: рассылка по 2000 адресов с ограничением 25 сообщений в секунду отработает за 80 секунд и на это время добавит 100–150 МБ. Процессор при такой нагрузке загружен на 5–15 %, и это нормальные значения для одного ядра.

Диск расходуется медленнее, чем кажется. База на 2000 пользователей с историей заказов занимает 200–400 МБ, логи при ротации раз в неделю — 100–300 МБ. В 10 ГБ NVMe помещается всё с четырёхкратным запасом. Апгрейд до 2 ГБ памяти нужен, когда бот начинает обрабатывать фото или запускать браузер для парсинга: это сразу +400–600 МБ.

Сколько стоит сервер под бота: реальные тарифы

Минимальные конфигурации в каталоге начинаются от 59 ₽ в месяц. Ниже — стартовые тарифы провайдеров, у которых есть подходящие под бота машины, от самого дешёвого к самому дорогому.

Провайдер Цена от Ядра Память Диск
Cloudcore 59 ₽/мес 1 1 ГБ 10 ГБ NVMe
HostVDS 127 ₽/мес 1 1 ГБ 10 ГБ NVMe
RuVDS 139 ₽/мес 1 0,5 ГБ 10 ГБ HDD
4VPS 110 ₽/мес 1 1 ГБ 5 ГБ NVMe
Selectel 200 ₽/мес 1 1 ГБ 10 ГБ NVMe
AdminVPS 299 ₽/мес 1 1 ГБ 15 ГБ NVMe
Beget 330 ₽/мес 1 1 ГБ 10 ГБ NVMe
Aéza 593 ₽/мес 1 2 ГБ 30 ГБ NVMe

Данные проверены 02.09.2026.

Разброс от 59 до 593 ₽ объясняется не жадностью, а начинкой. За 59–150 ₽ вы получаете виртуальную машину без гарантий по частоте процессора: соседи по узлу могут отъедать такты. За 299–593 ₽ дают гарантированное ядро, диск на 15–30 ГБ и техподдержку, которая отвечает за 10–20 минут. Для одного бота обычно хватает нижнего сегмента, а верхний берут, когда на сервере живут 5–10 проектов сразу.

Как перенести бота с бесплатной площадки на сервер

Переезд занимает вечер, если код уже лежит в Git. Порядок действий одинаков для aiogram, python-telegram-bot и Telegraf на Node.js — меняется только команда запуска. Подробный разбор с примерами конфигов есть в гайде о том, как развернуть телеграм-бота на VPS.

  1. Закажите тариф с 1 ядром, 1 ГБ памяти и 10 ГБ диска, ОС — Ubuntu 24.04 LTS: под неё написано большинство инструкций.
  2. Зайдите на сервер по SSH и создайте отдельного пользователя вместо root — это защищает от случайного удаления системных файлов.
  3. Установите Python 3.12 и создайте виртуальное окружение командой python3 -m venv venv: она изолирует библиотеки бота от системных.
  4. Скопируйте код через git clone, поставьте зависимости и вынесите токен бота в файл .env, чтобы он не попал в репозиторий.
  5. Опишите службу systemd с параметром Restart=always — она поднимет бота автоматически после падения или перезагрузки сервера.
  6. Настройте файрвол: оставьте открытыми порт 22 для SSH и 443, если планируете вебхук.
  7. Добавьте в crontab ежедневный дамп базы в 04:00 и храните 7 последних копий — это 7 файлов по 50–200 МБ.

После запуска проверьте, что бот пережил перезагрузку: выполните reboot и через минуту напишите ему сообщение. Если ответ пришёл — служба настроена верно, и ручной запуск больше не понадобится.

Частые ошибки при размещении бота

Одни и те же промахи повторяются у большинства новичков. Каждая из них стоит либо потерянных данных, либо нескольких часов отладки на ровном месте.

  • Держать боевой токен на бесплатной песочнице — при засыпании контейнера пользователи получают тишину, а не ошибку.
  • Хранить SQLite в папке проекта на эфемерном диске: база исчезает при первом же деплое.
  • Запускать бота командой python bot.py в SSH-сессии — процесс умрёт вместе с закрытием окна терминала.
  • Ставить вебхук без валидного сертификата: Telegram молча откажется доставлять обновления.
  • Брать тариф с 0,5 ГБ памяти под бота с обработкой картинок — OOM-killer убьёт процесс на первом же большом файле.
  • Не включать ротацию логов: файл на 5 ГБ забьёт диск и уронит и бота, и базу.

Частые вопросы

Можно ли держать телеграм-бота на обычном виртуальном хостинге? Как правило, нет. На shared-хостинге запрещены долгоживущие процессы, а скрипт убивается по таймауту в 30–120 секунд. Исключение — тарифы, где провайдер прямо обещает поддержку ботов; их собрали в разделе хостинг для Python-ботов.

Сколько памяти нужно боту на 1000 пользователей? Хватает 1 ГБ. Сам процесс займёт 80–150 МБ, база — до 200 МБ, остальное уйдёт в запас на всплески при рассылках. Переходить на 2 ГБ имеет смысл при работе с изображениями или запуске headless-браузера.

Почему бот отвечает с задержкой в 20–30 секунд? Почти всегда это холодный старт спящего контейнера на бесплатном уровне. Реже — long polling с большим интервалом опроса. На постоянно работающем сервере задержка держится в пределах 200–400 мс.

Что дешевле: бесплатный уровень плюс внешняя база или свой VPS? Свой сервер. Managed-база стоит от 300–500 ₽ в месяц, тогда как VPS с локальной базой стоит 59–150 ₽ и не требует настраивать доступ между двумя площадками.

Нужен ли боту домен и белый IP? Для long polling — нет, достаточно исходящего доступа в интернет. Для вебхука нужны и выделенный IP, и домен с сертификатом: Telegram отправляет запросы только по HTTPS на порт 443, 80, 88 или 8443.

Как выбрать страну размещения сервера? Ориентируйтесь на аудиторию: для пользователей из России подойдут площадки в Москве и Петербурге с задержкой 5–20 мс. Разница в 50–80 мс для бота почти незаметна, поэтому критерий вторичен — а разница между Москвой и Франкфуртом для бота почти не видна.

Что делать, если бот вырос до 10 000 пользователей? Поднимайте тариф до 2 ядер и 2–4 ГБ памяти и выносите базу в отдельный процесс с настроенными индексами. Такой профиль уже требует тарифа за 300–600 ₽ в месяц.

Итог

Бесплатные площадки честно решают одну задачу — дать новичку место для учебного бота на 10–30 обращений в день. Как только у бота появляются платежи, база данных, вебхук или ночная аудитория, засыпание контейнера и эфемерный диск превращаются в постоянные поломки, а способы это чинить стоят дороже сервера.

Граница проходит примерно на 300–500 активных пользователях. После неё берите машину с 1 ядром и 1 ГБ памяти за 59–150 ₽ в месяц: этого хватит на 1000–2000 пользователей с запасом. Актуальные тарифы с фильтрами по цене и локации собраны в разделе VPS для телеграм-бота.

Поделиться:
Марина
Редактор · FREEHOSTING
Главный редактор FREEHOSTING. С 2020 года тестирует VDS, VPS и хостинг-провайдеров — арендует серверы, нагружает их реальными проектами и пишет честные обзоры по итогам. Помогает читателям выбирать хостинг под свои задачи: от Telegram-бота до production-сайта.