VPS с самостоятельным администрированием
Как выбрать VPS для Telegram-бота
Telegram-бот, который обращается к AI API, и сервер с весами модели — разные нагрузки. VPS принимает сообщения, хранит небольшой объём состояния и отправляет HTTPS-запросы. Модель работает на стороне API. Готовый пример находится в разделе хостинга ботов, а здесь разбираем выбор сервера для него.
Подбирайте сервер под реальный процесс
| Нагрузка | Что проверить в первую очередь |
|---|---|
| Приватный Python-бот из примера | Исходящие соединения, перезапуск процесса и постоянное хранилище |
| Mini App из примера | Публичный DNS, HTTPS, свободные порты 80/443 и память reverse proxy |
| Бот вместе с базой или другим сервисом | Суммарную память, рост диска и время резервного копирования |
| Бот со своей LLM | GPU/VRAM и сервер модели; это отдельный запуск LLM |
Для одного бота предлагаем начать с 1 vCPU, 1 ГБ RAM и 20 ГБ диска на Ubuntu 24.04 LTS. Это исходная конфигурация для проверки, а не измеренный минимум или обещание определённого числа пользователей. Если рядом будут Mini App, reverse proxy или другие процессы, рассмотрите 2 ГБ RAM. Фактический диск, образы ОС и регион сверяйте в текущих тарифах VPS.
Для обращения к удалённой модели GPU на самом VPS не нужен. Если скачать веса и запускать модель здесь же, требования изменятся: экономичный сервер для бота не становится GPU-сервером из-за установки Python.
Регион и доступность сети
Выбирайте регион, из которого стабильно доступны Telegram и выбранный inference endpoint. Близость к пользователю не гарантирует быстрый AI-ответ: очередь и генерация у модели часто занимают больше времени, чем сеть. Проверяйте соединение с арендованного сервера, а не только с ноутбука. Регион должен подходить для ваших требований к доступу и размещению данных, но сам по себе не гарантирует конфиденциальность.
Long polling требует исходящего HTTPS и доступа администратора по SSH. Для Mini App дополнительно нужны публичный домен и доступные TCP-порты 80/443. Ни открытый порт базы данных, ни публикация каталога бота для этих примеров не нужны.
Сначала измерьте, затем меняйте тариф
После развёртывания выполните в каталоге Compose:
free -h
df -h
docker compose ps
docker stats --no-stream
docker system df
Смотрите на показатели вместе. Диск нужен не только SQLite, но и логам, резервным копиям и сборке образов. Память контейнера не равна всей памяти хоста: ОС и Docker тоже потребляют ресурсы. Один снимок в простое не показывает поведение под нагрузкой. Запишите обычное состояние и несколько типичных запросов разрешённых пользователей, не публикуя тексты сообщений и ключи.
Бот обрабатывает сообщения последовательно. Пока модель отвечает одному человеку, следующий ждёт, даже если CPU почти свободен. При условных восьми секундах на запрос теоретический потолок — 7,5 ответа в минуту без прочих задержек. Это расчёт, не результат замера. Добавление vCPU не превращает этот процесс в параллельный: сначала определите, где возникает очередь.
Что записать о проверенном сервере
Сохраните дату, провайдера и регион, точный тариф, RAM/диск, месячную цену и валюту при заказе, ОС, версию исходников и digests образов. Отдельно отметьте фактически проверенные ответ Telegram, restart контейнера, reboot хоста и восстановление бэкапа. Непроверенные пункты оставьте пустыми. Наличие Dockerfile ещё не делает конфигурацию «протестированной».
Аренда VPS и обращения к модели оплачиваются отдельно. Фиксированная цена сервера не означает безлимитный API: см. контроль расходов. Если заканчивается диск, удаляйте только заведомо ненужные файлы после проверки копий; очистка volumes не должна заменять диагностику.
Далее: Docker Compose или диагностика ответов. Источник: статистика контейнеров Docker.
Тарифы из текущего каталога
Сейчас не удалось загрузить планы. Смотрите актуальные тарифы на странице цен.