aigenthubTelegram

Хостинг для Telegram-бота: где разместить и сколько стоит

Где разместить Telegram-бота: VPS или обычный хостинг, webhook или polling, какие порты и HTTPS нужны, минимальные ресурсы, цены Beget, Timeweb Cloud и FirstVDS на октябрь 2026, запуск через systemd и Docker.

АК Алексей КальсинОбновлено 12 мин чтения
Содержание
  1. Когда нужен VPS, а когда хватит хостинга
  2. Webhook или polling: что требуется от сервера
  3. Минимальные требования для бота на Python и Node.js
  4. Российские VPS: сравнение минимальных тарифов
  5. Как запустить бота: systemd или Docker и автоперезапуск
  6. Telegram в России: на что обратить внимание
  7. Бесплатный хостинг для бота: что учесть
  8. Чек-лист перед запуском
  9. Частые вопросы

Чтобы разместить Telegram-бота, нужен компьютер, который работает круглосуточно, имеет выход в интернет и может запускать вашу программу. Самый универсальный вариант — небольшой VPS: виртуальный сервер, на котором вы сами запускаете бота на Python или Node.js. Обычный виртуальный хостинг подойдёт не всегда: на многих тарифах нельзя держать постоянно работающий процесс. Бота, который отвечает редко, можно запускать и без сервера — через webhook на serverless-платформе. По ценам минимальных VPS в России на октябрь 2026 по официальным страницам: Beget — от 27 ₽ в день, Timeweb Cloud — от 900 ₽ в месяц при оплате на 12 месяцев, FirstVDS — «от 299 ₽ в месяц». Ниже — как выбрать, что требуется от сервера и как запустить бота так, чтобы он сам перезапускался.

Коротко. Бот, который должен всегда отвечать и хранить данные, — берите VPS. Webhook требует HTTPS и один из портов 443, 80, 88 или 8443; polling (метод getUpdates) не требует входящих подключений, поэтому проще для старта. Для бота на Python или Node.js обычно хватает минимального тарифа с 1–2 ядрами и 1–2 ГБ памяти (это практический ориентир, а не требование Telegram). Запускайте бота как службу systemd или в Docker с автоперезапуском. Бесплатный хостинг подходит для эксперимента, но не для бота, от которого зависят клиенты.

Когда нужен VPS, а когда хватит хостинга

Telegram-бот — это программа, которая либо сама постоянно спрашивает у Telegram, есть ли новые сообщения (polling), либо принимает от него запросы по адресу (webhook). От этого зависит, что вам нужно от «места жительства».

ВариантПодходит, когдаОграничения
Свой компьютерТест и разработкаБот молчит, когда компьютер выключен или нет интернета
Обычный (виртуальный) хостингБот на webhook, который работает как обычный PHP- или Python-скрипт на сайте; HTTPS у хостинга уже естьЧасто нельзя запускать постоянные процессы, ограничены версии языков и пакеты; для polling обычно не подходит
Serverless-функцииРедкие запросы, webhook, простая логикаНет постоянного процесса и локальной базы; нужны внешнее хранилище и привязка вашего URL; условия зависят от платформы
VPSБот работает постоянно, нужна своя база, очереди, задачи по расписанию, несколько ботовСервер настраиваете и обновляете вы: безопасность, перезапуск, резервные копии
Бесплатный хостингУчебный проектЛимиты, «засыпание» процесса, возможные изменения условий и блокировки; для клиентского бота рискованно

Правило выбора простое. Если бот просто отвечает на команды и может подождать пару секунд при первом запросе, хватит webhook на хостинге или в serverless. Если бот хранит данные, принимает платежи, шлёт рассылки, работает с очередями или вы запускаете у него ИИ-агента, берите VPS. К тому же на VPS вы сможете держать рядом другие сервисы, например n8n: как это сделать, описано в статье «Установка n8n: локально, на сервере и в Docker».

Webhook или polling: что требуется от сервера

Telegram Bot API позволяет получать обновления двумя взаимоисключающими способами. Это меняет требования к хостингу.

Polling (getUpdates)

Бот сам обращается к Telegram за новыми сообщениями. Входящие подключения не нужны: сервер должен только выходить в интернет и достучаться до api.telegram.org. Не нужны ни домен, ни сертификат. Это самый простой способ для новичка и для VPS без домена. Недостаток — процесс должен быть запущен всё время.

Webhook (setWebhook)

Telegram сам отправляет каждое обновление на ваш адрес. По документации Bot API:

  • адрес должен быть HTTPS;
  • поддерживаются порты 443, 80, 88 и 8443;
  • можно загрузить собственный (самоподписанный) сертификат в параметре certificate;
  • параметр secret_token (1–256 символов: латинские буквы, цифры, _ и -) Telegram присылает в заголовке X-Telegram-Bot-Api-Secret-Token; проверяйте его, чтобы отсеять чужие запросы;
  • max_connections — число одновременных подключений, от 1 до 100, по умолчанию 40;
  • пока webhook установлен, получать обновления через getUpdates нельзя.

Для webhook на VPS вам понадобятся домен (или поддомен) с A-записью на IP сервера и сертификат; проще всего поставить перед ботом обратный прокси с автоматическим сертификатом. Пример для похожей схемы — в статье «Как подключить домен к AI-агенту». На обычном хостинге HTTPS обычно уже есть, нужно лишь указать адрес скрипта.

Установка и проверка webhook делаются обычным запросом к API (замените <TOKEN> на токен бота от @BotFather и адрес на свой):

curl "https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://bot.example.com/webhook&secret_token=MySecret_123"
curl "https://api.telegram.org/bot<TOKEN>/getWebhookInfo"

Токен — это пароль к боту: не публикуйте его в репозитории и не показывайте в скриншотах.

Что выбрать. Новичку на VPS — polling: меньше настроек. Бот с большой нагрузкой или на serverless — webhook. Если сомневаетесь, начните с polling и перейдите на webhook, когда появятся домен и причина.

Минимальные требования для бота на Python и Node.js

Сам по себе бот потребляет мало: он принимает сообщения, вызывает вашу логику и отправляет ответ. Telegram не публикует требований к серверу, поэтому цифры ниже — практические ориентиры, которые зависят от вашей программы.

ЗадачаОриентир по ресурсам
Простой бот (команды, меню, ответы), Python или Node.js1 ядро, 1 ГБ памяти; запас по диску — несколько гигабайт на систему и логи
Бот с базой данных (SQLite, PostgreSQL) и рассылками2 ядра, 2 ГБ памяти
Бот с Docker, обратным прокси и несколькими сервисами2 ядра, 2–4 ГБ памяти
Бот с ИИ-агентом, использующим внешнюю модель по APIКак правило, тот же минимальный тариф: вычисления идут на стороне провайдера модели
Локальная языковая модель на самом сервереМинимальный VPS не подходит, нужны гораздо более мощный сервер или видеокарта

Что ещё нужно: Linux (чаще всего Ubuntu LTS), доступ по SSH, поддерживаемая версия Python или Node.js, постоянный выход в интернет и устойчивое соединение с Telegram. Популярные библиотеки — aiogram и python-telegram-bot для Python, grammY и Telegraf для Node.js; их требования к версии языка смотрите в документации библиотеки. Если вы хотите запускать на сервере агента, а не простого бота, посмотрите «AI-агент на Ubuntu: как запустить на VPS».

Российские VPS: сравнение минимальных тарифов

Ниже — минимальные тарифы по официальным страницам провайдеров, открытым в октябре 2026. Цены и условия меняются: перед покупкой сверьтесь с сайтом. Рядом с ссылками стоит пометка о рекламе.

ПровайдерМинимальный тариф по страницеЦена (октябрь 2026)Особенности по странице
Beget2 ядра CPU 3–3,3 ГГц, 2 ГБ памяти, 30 ГБ NVMe, канал 1 Гбит/с27 ₽ в деньОплата посуточная; серверы в Санкт-Петербурге; публичный IPv4 за дополнительные 5 ₽ в день (с ним калькулятор на странице показывает итого 32 ₽ в день); в тариф входят автоматические резервные копии и мониторинг
Timeweb CloudCloud-40: 2 × 3,3 ГГц, 2 ГБ памяти, 40 ГБ NVMe, 1 Гбит/с900 ₽ в месяц при выбранной оплате на 12 месяцев (скидка 10%)Скидки за срок оплаты: 3 месяца — 5%, 6 месяцев — 7%, 12 месяцев — 10%; доступны локации в России, Казахстане и Европе
FirstVDSНа главной странице указано «виртуальные серверы в России, Нидерландах и Казахстане»от 299 ₽ в месяцХарактеристики минимального тарифа на открытой странице не указаны; смотрите в личном кабинете при заказе

Реклама. Партнёрские ссылки на Beget, Timeweb Cloud и FirstVDS; цена для вас не меняется. Данные на октябрь 2026, перепроверяйте на сайтах провайдеров.

Как читать таблицу:

  • Beget удобен, если нужен сервер «на попробовать»: оплата по дням. Публичный IPv4-адрес на странице считается отдельно: +5 ₽ в день. Месячную сумму можно прикинуть умножением на число дней, но точную стоимость смотрите в панели.
  • Timeweb Cloud — более дорогой стартовый тариф с конкретной ценой и скидкой за длительную оплату. Цена за один месяц без скидки на странице отдельно выбирается переключателем срока.
  • FirstVDS показывает на главной только цену «от»; для сравнения по характеристикам откройте тарифы при оформлении заказа.

Пошаговые примеры настройки VPS у отдельных провайдеров есть в наших статьях: «Как запустить VPS на Бегет» и «OpenClaw на Timeweb Cloud». Для бота шаги те же: создать сервер с Ubuntu, зайти по SSH, поставить Python или Node.js.

Что ещё сравнить, кроме цены: расположение серверов, наличие резервных копий и снимков, поддержку, возможность быстро увеличить тариф и условия отмены. Минимальный тариф можно взять на пробу и увеличить позже.

Как запустить бота: systemd или Docker и автоперезапуск

Если запустить бота в терминале, он остановится при закрытии сессии SSH. Чтобы бот работал постоянно и поднимался после сбоя или перезагрузки сервера, используйте службу systemd или Docker.

Вариант 1. Служба systemd

Создайте файл /etc/systemd/system/mybot.service (пути и пользователя замените на свои; для Node.js вместо python укажите node):

[Unit]
Description=My Telegram bot
After=network-online.target
Wants=network-online.target

[Service]
User=bot
WorkingDirectory=/opt/mybot
EnvironmentFile=/opt/mybot/.env
ExecStart=/opt/mybot/venv/bin/python main.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Что здесь важно: Restart=always перезапускает бота при падении, EnvironmentFile хранит токен отдельно от кода, пользователь bot — обычный, без прав root. Включение и проверка:

sudo systemctl daemon-reload
sudo systemctl enable --now mybot
sudo systemctl status mybot
journalctl -u mybot -f

enable включает автозапуск при загрузке, --now запускает сразу, status показывает состояние, journalctl -f выводит живой журнал.

Вариант 2. Docker

Если бот упакован в контейнер, автоперезапуск задаётся политикой запуска:

docker run -d --name mybot --restart unless-stopped --env-file .env mybot:latest

Или в docker-compose.yml: строка restart: unless-stopped у нужного сервиса. Docker даёт удобство, когда на сервере несколько ботов или сервисов: у каждого свои зависимости. Подробно, с docker compose, — в статье «Установка n8n в Docker»: порядок действий тот же.

Безопасность

  • Не запускайте бота от root, держите токен в файле окружения или секретах, а не в коде.
  • Отключите вход по паролю и пользуйтесь ключами SSH, поставьте фаервол и обновления: подробнее в статье «Как защитить AI-агента на VPS».
  • Если токен попал в чужие руки, перевыпустите его в @BotFather.

Telegram в России: на что обратить внимание

Доступность Telegram может зависеть от оператора, региона и времени, и условия меняются. Для бота это важно по одной причине: серверу нужно соединяться с api.telegram.org (при polling и при отправке ответов, в том числе при webhook). Поэтому проверьте соединение с самого сервера, а не с вашего компьютера:

curl -s "https://api.telegram.org/bot<TOKEN>/getMe"

Если приходит ответ с данными бота ("ok":true), связь есть. Если запрос зависает или падает с ошибкой, проверьте DNS и фаервол на самом сервере, а затем обратитесь в поддержку хостинга: у провайдеров своя сетевая инфраструктура, и они могут сказать, что с ней происходит. Выбирайте площадку и расположение сервера по этой проверке и по требованиям вашего проекта; заранее надёжной гарантии работы одного и того же сервера на каждый день мы дать не можем. Если бот обслуживает клиентов, держите план Б: резервную копию и возможность быстро развернуть бота на другом сервере.

Отдельная тема — подписки на нейросети для бота. ChatGPT и Claude официально в России не работают, российские карты там не принимаются; про оплату читайте в статье «Как оплатить Claude и ChatGPT из России».

Бесплатный хостинг для бота: что учесть

Бесплатные варианты бывают, но у них общие проблемы:

  • процесс может «засыпать» без запросов; для polling это ломает бота, для webhook — задерживает первый ответ;
  • лимиты на время работы, память и трафик, а также изменения условий без предупреждения;
  • данные на диске могут не сохраняться между перезапусками;
  • не всегда понятно, где физически находится сервер.

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

Чек-лист перед запуском

  1. Определитесь со способом: polling для простого старта, webhook, если есть домен и причина.
  2. Выберите VPS с Ubuntu и минимальными ресурсами из таблицы выше.
  3. Создайте пользователя без root, отключите вход по паролю.
  4. Проверьте getMe с самого сервера.
  5. Поставьте бота как службу systemd или контейнер Docker с автоперезапуском.
  6. Токен — в файле окружения, не в репозитории.
  7. Проверьте журнал после перезагрузки сервера: бот должен подняться сам.
  8. Настройте резервную копию данных бота.

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

Где лучше разместить Telegram-бота?

Для постоянно работающего бота — на VPS: он даёт постоянный процесс, свою базу и контроль над настройками. Для простого бота на webhook подойдёт обычный хостинг или serverless-функции. Для эксперимента — свой компьютер или бесплатный вариант.

Сколько стоит хостинг для Telegram-бота?

По официальным страницам на октябрь 2026: Beget — от 27 ₽ в день за минимальный VPS, Timeweb Cloud — от 900 ₽ в месяц при оплате на 12 месяцев, FirstVDS — «от 299 ₽ в месяц». Условия и цены меняются, перед покупкой проверьте их на сайте.

Нужен ли VPS для Telegram-бота?

Не всегда. Если бот отвечает на запросы через webhook и не требует постоянного процесса, подойдёт обычный хостинг или serverless. VPS нужен, когда бот работает постоянно, хранит данные, использует очереди и рассылки или работает через polling.

Webhook или polling: что выбрать?

Polling проще: не нужны домен и сертификат, сервер лишь выходит в интернет. Webhook требует HTTPS и порт 443, 80, 88 или 8443, зато не требует постоянного опроса и подходит для serverless. Одновременно оба способа использовать нельзя.

Какие порты разрешены для webhook?

По документации Telegram Bot API, для webhook поддерживаются порты 443, 80, 88 и 8443, а адрес должен начинаться с https.

Сколько ресурсов нужно боту на Python или Node.js?

Для простого бота обычно хватает минимального VPS: 1–2 ядра и 1–2 ГБ памяти. Это практический ориентир: точная потребность зависит от вашего кода, базы данных и числа пользователей. Если запускаете локальную языковую модель, понадобится гораздо более мощный сервер.

Как сделать, чтобы бот сам перезапускался?

Запустите его как службу systemd с параметром Restart=always или в Docker с политикой restart: unless-stopped. Тогда бот поднимется после сбоя и после перезагрузки сервера.

Есть ли бесплатный хостинг для бота?

Бесплатные варианты бывают, но у них лимиты, «засыпание» процесса и непредсказуемые условия. Подходят для обучения и тестов, для бота с клиентами лучше платный VPS.

АК
Алексей Кальсин

Строю AI-агентов для своего бизнеса и клиентов, на сайте пишу о том, что запускал сам. Вопросы задавайте в Telegram.

@aaakalsin →

Ещё в разделе «Установка и настройка»

Новые агенты и рабочие связки раньше, чем в блоге

Короткие разборы, промокоды и ответы на вопросы в Telegram-канале.

Подписаться в Telegram