Деплой бота на aiogram: подключил репозиторий - бот работает

Бот на aiogram 3 готов и работает на ноутбуке, но при закрытии крышки умирает? Подключите репозиторий к Dada Cloud - платформа соберёт бота и запустит его как постоянный процесс. Long polling работает без домена, вебхук получает HTTPS-адрес. Бесплатный тариф, серверы в России.

Почему ботов на aiogram деплоят сюда

Long polling без домена

Бот на aiogram с dp.start_polling запускается как фоновый воркер: постоянный процесс, публичный адрес не нужен и не выдаётся.

Вебхук - с готовым HTTPS

Если используете setup_application и aiohttp, приложение получает адрес с валидным сертификатом - его и передаёте в set_webhook.

Сборка по requirements.txt

Достаточно, чтобы aiogram был в зависимостях. Dockerfile писать не нужно, командная строка не нужна.

FSM-состояния переживают перезапуск

MemoryStorage теряет диалоги при каждом деплое. Подключите managed PostgreSQL или Redis рядом - и сценарии продолжатся с того же шага.

Упал - поднимется сам

Необработанное исключение в хендлере или разрыв связи с Telegram - процесс перезапустится автоматически.

Данные в России (152-ФЗ)

Данные пользователей бота хранятся на серверах в РФ - то, что требует закон о персональных данных.

Как задеплоить бота на aiogram

Шесть шагов от локального скрипта до бота, который работает круглосуточно.

01

Зафиксируйте зависимости

aiogram должен быть в requirements.txt - по этому файлу платформа поймёт, что проект на Python, и поставит зависимости при сборке.

02

Уберите токен из кода

Замените строку с токеном на чтение переменной окружения: os.environ["BOT_TOKEN"]. Локально удобно держать .env, но в репозиторий он попадать не должен.

03

Создайте приложение в режиме воркера

Для long polling включите режим «фоновый воркер, бот без HTTP». Для вебхука создавайте обычное приложение - оно получит HTTPS-адрес.

04

Подключите репозиторий

Подключите GitHub - дальше каждый пуш в основную ветку будет собирать и выкатывать новую версию. Без git подойдёт zip-архив.

05

Задайте переменные окружения

BOT_TOKEN, идентификаторы админов, ключи внешних API задаются в консоли и приходят в процесс при старте.

06

Подключите базу под FSM

Создайте PostgreSQL рядом и переведите хранилище состояний с MemoryStorage на постоянное - тогда деплой не будет ронять пользователей в середине сценария.

Сколько стоит хостинг aiogram-бота

Реальные тарифы платформы и честное сравнение с арендой своего VPS.

ТарифЦенаЧто входит
Free0 ₽/месОдин бот с базой, без привязки карты. Ограничение - по объёму ресурсов, а не по сроку.
Startup990 ₽/мес5 приложений, 2 базы данных, бэкапы 7 дней - бот, админка и фоновый воркер рассылок.
Business2 900 ₽/мес20 приложений, 10 баз данных, бэкапы 30 дней, приоритетная поддержка.
Свой VPSсравнимо по железуVPS дешевле по железу. Но systemd, бэкапы базы и перезапуск после падения - это ваше время.

Что важно знать заранее

Три места, где деплой aiogram-бота обычно спотыкается.

Две копии бота с одним токеном конфликтуют

Если локальная копия продолжает опрашивать Telegram, апдейты будут уходить то ей, то боевому боту. Остановите локальный процесс после деплоя или заведите отдельного тестового бота.

MemoryStorage теряет диалоги при деплое

Состояния FSM в памяти процесса стираются при каждой новой сборке - пользователь застревает в середине сценария. Для боевого бота нужно постоянное хранилище.

Файлы на диске не переживают сборку

Скачанные фото и документы, записанные на локальный диск, при новом деплое исчезнут. Храните их в объектном хранилище, а ссылки - в базе.

Деплой aiogram-бота - частые вопросы

Long polling проще: dp.start_polling, публичный адрес не нужен, бот запускается в режиме фонового воркера. Вебхук быстрее реагирует и экономнее на больших нагрузках, но требует HTTPS-адреса и aiohttp-сервера в коде. Начинайте с polling, переходите на вебхук, когда упрётесь.

Поднимите backend из GitHub сегодня

Подключение репозитория занимает минуту. Платите только за то, что реально потребляете.

Создать аккаунт