Обновлено: октябрь 2026
Бот написан, токен от @BotFather есть, но на локальной машине он умрёт при закрытии терминала. Нужно куда-то залить его так, чтобы работал 24/7 без твоего участия. Вот три рабочих пути — Railway ($5/мес, деплой за 3 клика), VPS (полный контроль, от $3/мес) и Serverless через AWS Lambda (бесплатно, но с ограничением по режиму работы).
TL;DR: Railway — лучший вариант для старта: автодеплой из GitHub, нет холодных стартов, подходит для polling и webhook. VPS — если нужны несколько ботов и база данных под рукой. AWS Lambda — только для webhook-режима, polling там не работает физически.
Почему нельзя просто оставить бота работать на своём компьютере?
Telegram-бот должен работать непрерывно, чтобы получать сообщения. Как только процесс останавливается — бот перестаёт отвечать.
Citation capsule: Telegram-бот использует один из двух режимов: polling (сам опрашивает сервер Telegram по циклу) или webhook (Telegram присылает сообщения на твой URL). Оба режима требуют постоянно работающего сервера. Локальная машина не подходит: выключил ноутбук — бот офлайн.

Это важно понять до выбора платформы, потому что одна из трёх опций в заголовке физически не умеет держать постоянный процесс.
Чем отличаются polling и webhook — и почему это влияет на выбор платформы?
Polling — бот сам спрашивает Telegram «что новенького?». Webhook — Telegram сам стучится на твой адрес при каждом сообщении.
Citation capsule: Polling проще в настройке: ноль конфигурации, не нужен HTTPS, работает сразу. Webhook быстрее и экономичнее, но требует публичный URL с SSL-сертификатом. Telegram поддерживает только один режим одновременно — если активен webhook, polling не работает.

Serverless-платформы (AWS Lambda, Vercel, Cloudflare Workers) завершают функцию после каждого запроса. Polling-цикл там жить не может — процесс убивается раньше, чем успевает проверить следующее обновление. Поэтому на Lambda бот работает только через webhook.
Railway и VPS держат постоянный процесс. Там работают оба режима.
Railway: деплой Telegram-бота за 3 шага
Railway — PaaS-платформа, которая автоматически определяет стек и деплоит бота без Dockerfile и YAML-конфигурации.
Citation capsule: Railway Hobby-план стоит $5/мес и включает $5 кредитов на использование ресурсов. Лёгкий Telegram-бот тратит $3-5/мес на compute — план окупается сам собой. Новые пользователи получают $5 trial без карты. Автодеплой из GitHub включён по умолчанию: push в main — бот перезапустился.

Шаг 1: Подключить репозиторий
Заходишь на railway.com, регистрируешься, создаёшь New Project -> Deploy from GitHub repo. Railway сам видит Node.js или Python и не требует ни Dockerfile, ни дополнительных конфигов.
Шаг 2: Добавить переменные окружения
В Variables добавляешь TELEGRAM_BOT_TOKEN и всё остальное, что нужно боту. Railway хранит их отдельно от кода — не надо коммитить .env в репозиторий.
Шаг 3: Деплой и логи
Жмёшь Deploy. Railway собирает образ, запускает процесс, через 1-2 минуты бот онлайн. В разделе Logs видишь всё в реальном времени — если что-то сломалось, сразу понятно где.
Важный момент: Railway не делает cold starts для непрерывно работающих сервисов, в отличие от Render (там бот засыпает через 15 минут бездействия). Для polling-бота это критично.
Dockerfile для Railway (если нужен)

Если хочешь точно контролировать окружение, вот минимальный Dockerfile для Python-бота. Его можно сгенерировать в Windsurf таким промптом:
Создай Dockerfile для Python Telegram-бота на python-telegram-bot v21.
База: python:3.12-slim. Скопируй все файлы, установи зависимости из requirements.txt,
запусти bot.py командой python bot.pyРезультат:
FROM python:3.12-slim
WORKDIR /app
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
CMD ["python", "bot.py"]Четыре строки. Работает.
VPS: когда нужен полный контроль
VPS — виртуальный сервер, где ты сам устанавливаешь всё, что нужно. Полная свобода и ответственность за настройку.
Citation capsule: Минимальный VPS у Hetzner CX22 или DigitalOcean стоит от $3-5/мес за 2 GB RAM и 2 vCPU. На одном сервере можно держать десятки лёгких ботов. VPS подходит, если нужна база данных рядом с кодом, несколько проектов на одном сервере и полный SSH-доступ.
| Сравнение | Railway Hobby | VPS (Hetzner) | AWS Lambda |
|---|---|---|---|
| Цена | $5/мес | от $3-5/мес | ~$0 (до 1М запросов) |
| Настройка | 3 клика | SSH + systemd/Docker | SAM CLI / консоль AWS |
| Polling-режим | Да | Да | Нет |
| Webhook-режим | Да | Да | Да |
| Автодеплой из GitHub | Да | Вручную или CI/CD | Через GitHub Actions |
| Холодные старты | Нет | Нет | Есть (до 1-3 сек) |
| Несколько ботов | Один проект = один сервис | Сколько угодно | Сколько угодно |
| SSL из коробки | Да | Нужно настроить | Да (через API Gateway) |
Как запустить бота на VPS через Docker
Подключился по SSH, поставил Docker, запустил:
docker build -t mybot .
docker run -d --restart=always \
-e TELEGRAM_BOT_TOKEN=your_token \
mybotФлаг --restart=always гарантирует, что бот поднимется после перезагрузки сервера. Это важно, иначе после апдейта ОС придётся заходить руками.
Если хочешь автодеплой — GitHub Actions умеет подключаться по SSH и перезапускать контейнер при каждом push.
VPS стоит выбрать, если у тебя несколько ботов, нужна PostgreSQL рядом с кодом (не платить за отдельный managed database) или хочется поставить Nginx и держать на одном сервере несколько проектов.
AWS Lambda: бесплатно, но только для webhook
AWS Lambda — serverless-платформа, где код запускается только при входящем запросе. Идеально для webhook-ботов с непредсказуемой нагрузкой.
Citation capsule: AWS Lambda free tier даёт 1 млн запросов в месяц и 400 000 GB-секунд вычислений. Для бота с несколькими тысячами пользователей это реально бесплатно. Но polling на Lambda невозможен: функция завершается после каждого запроса, а постоянный цикл опроса Telegram требует живого процесса.
На Lambda бот работает так: Telegram присылает POST-запрос на API Gateway URL -> Lambda просыпается, обрабатывает сообщение, отвечает -> Lambda засыпает. Никакого постоянно работающего процесса.
Холодный старт — реальная проблема. Первый запрос после периода бездействия может занять 1-3 секунды. Для бота поддержки это заметно: пользователь написал, секунда тишины, потом ответ.
Настройка через AWS SAM требует понимания CloudFormation, IAM-ролей и API Gateway. Это не три клика — это часа два разбора документации в первый раз.
Один практичный лайфхак из реального опыта: при настройке webhook на Lambda ограничивай типы событий от Telegram. По умолчанию Telegram шлёт всё подряд — добавления в чаты, изменения статусов, отредактированные сообщения. Каждое событие поднимает Lambda и тратит квоту. В setWebhook нужно явно указать allowed_updates: ["message", "callback_query"] — и Lambda будет просыпаться только на реально важные события.
curl -X POST "https://api.telegram.org/bot<TOKEN>/setWebhook" \
-H "Content-Type: application/json" \
-d '{"url": "https://your-lambda-url", "allowed_updates": ["message", "callback_query"]}'Кому что выбирать: итоговая карта

| Ситуация | Лучший вариант |
|---|---|
| Первый бот, хочу запустить быстро | Railway |
| Уже есть несколько ботов и нужна база рядом | VPS (Hetzner/DigitalOcean) |
| Бот обрабатывает редкие запросы, бюджет = $0 | AWS Lambda (webhook) |
| Бот для поддержки клиентов, нужен мгновенный ответ | Railway или VPS |
| Команда, CI/CD, staging и prod | VPS + GitHub Actions или Railway Pro |
Максим: «Ребят, это работает — у нас NanaBanana крутится именно так: Railway для быстрого деплоя, всё поднялось за 6-8 часов суммарно. Когда нужен был продукт, который работает прямо сейчас — ни разу не пожалели о Railway вместо ковыряния в VPS.»
Частые ошибки при деплое Telegram-бота
Три ошибки, из-за которых бот деплоится успешно, но молчит в Telegram.

Первая: попытка запустить polling на Render бесплатном плане. Render засыпает сервис через 15 минут бездействия — polling-бот не делает входящих HTTP-запросов, платформа считает его неактивным и гасит. Бот выглядит как запущенный, но не отвечает.
Вторая: одновременно активный webhook и polling. Telegram поддерживает только один режим. Если раньше регистрировал webhook для тестов, а теперь запускаешь polling — нужно сначала удалить webhook:
curl "https://api.telegram.org/bot<TOKEN>/deleteWebhook"Третья: токен захардкожен в коде и попал в публичный репозиторий. GitHub сканирует репозитории на утечки токенов. Если токен засветился — BotFather, /revoke, генерируешь новый. Храни токен только в переменных окружения.
FAQ
Можно ли задеплоить Telegram-бота бесплатно? Да. Railway даёт $5 trial-кредитов при регистрации — хватает на 30+ дней для лёгкого бота. AWS Lambda бесплатен до 1 млн запросов в месяц, но только в режиме webhook.
Почему Telegram-бот не работает на Vercel или AWS Lambda в режиме polling? Serverless-платформы завершают процесс после каждого запроса. Polling требует постоянно работающего цикла. На Lambda и Vercel бот физически не может держать такой цикл живым.
Сколько стоит хостинг Telegram-бота на VPS? От $3-5/мес за минимальный сервер у Hetzner или DigitalOcean. На одном сервере помещаются несколько ботов — в пересчёте на бота выходит меньше доллара.

Нужен ли Dockerfile для деплоя на Railway? Нет. Railway автоматически определяет Node.js и Python. Dockerfile нужен только если используешь нестандартный стек или хочешь точно контролировать окружение.
Что лучше для чат-бота поддержки бизнеса: Railway или VPS? Для старта — Railway: быстрее, проще, автодеплой. VPS выбирай, когда несколько ботов, нужна база данных под рукой и хочется не платить за managed services.
Как настроить автодеплой при пуше в GitHub? На Railway это работает из коробки после подключения репозитория. На VPS нужно настроить GitHub Actions с SSH-шагом для перезапуска контейнера.
Если хочешь создать Telegram-бота с нуля и задеплоить его без головной боли — смотри каталог AI-инструментов для разработки на VibeCoderz. Там собраны все IDE, которые помогут написать бота голосом или промптом: Cursor, Windsurf, Claude Code.
Для автоматизации поддержки клиентов через бота — есть раздел агентов под задачу техподдержки.
Хочешь разобраться, какой стек подойдёт именно под твой проект — запишись на консультацию к Максиму.
Обновлено: октябрь 2026. Цены Railway актуальны на дату публикации: Hobby $5/мес, Trial $5 кредитов. Проверяй актуальные тарифы на railway.com/pricing.