Хостинг для бота на Python: установка на VPS
Хостинг для бота на Python это обычный VPS с Ubuntu, где бот живёт в виртуальном окружении и запускается службой systemd или контейнером Docker. Свежие aiogram 3.31 и python-telegram-bot 22.8 требуют Python 3.10 и новее, поэтому системного Python в Ubuntu 22.04 и 24.04 хватает без сборки своего.
Ответ за 30 секунд
Для бота на Python хватит младшего VPS, venv и службы systemd. Фиксируйте версии в requirements.txt, токен держите в .env и включите PYTHONUNBUFFERED=1, иначе логи бота появятся в журнале с опозданием или пропадут при падении.
Ubuntu с Python 3 из коробки, root-доступ и почасовая оплата.
Как обновлять бота на Python и какой сервер взять3.10+Python для aiogram и PTB
3.31.0текущая версия aiogram
1 ГБхватает текстовому боту
01 · 1 мин
Что нужно боту на Python на сервере#
Почему боту нужен постоянно работающий сервер, а не хостинг сайтов, разобрано в обзоре аренда сервера для бота. Здесь про то, как устроить сам бот на Python, чтобы он пережил обновления и перезагрузки.
| Часть | Зачем |
|---|---|
| Python 3.10 и новее | aiogram 3.31.0 поддерживает Python 3.10-3.14, python-telegram-bot 22.8 требует 3.10 и выше |
| Виртуальное окружение | Свои версии библиотек для каждого бота, системный Python не трогаем |
| requirements.txt с версиями | Сервер ставит ровно то, что работало у вас |
| Файл .env | Токен и пароли вне кода и репозитория |
| systemd или Docker | Автозапуск и перезапуск после падения |
Лицензии библиотек свободные: aiogram под MIT, python-telegram-bot под LGPLv3. Если на сервере кроме бота будет сайт на Django или FastAPI, смотрите общий разбор хостинг для Python.
02 · 1 мин
Установка бота на Python в виртуальное окружение#
- Создайте пользователя под бота: процесс без прав root не сможет испортить систему при ошибке в коде.
- Склонируйте код из git-репозитория.
- Создайте окружение и поставьте зависимости.
- Положите токен в .env и закройте файл от чужих глаз.
sudo apt install python3-venv git
sudo adduser --disabled-password bot
sudo -iu bot
git clone https://github.com/you/shop-bot.git app && cd app
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
echo "BOT_TOKEN=123456:ABC..." > .env && chmod 600 .env
.venv/bin/python -m bot
Последняя команда проверочная: убедитесь, что бот отвечает, остановите его сочетанием Ctrl+C и переходите к службе.
03 · 1 мин
Служба systemd для бота на aiogram или python-telegram-bot#
Ключевые строки для Python: путь к интерпретатору внутри .venv, файл с переменными и отключённая буферизация вывода. Без PYTHONUNBUFFERED=1 Python копит print и логи в буфере, когда вывод идёт не в терминал.
# /etc/systemd/system/shop-bot.service
[Unit]
Description=Shop bot (aiogram)
After=network-online.target
Wants=network-online.target
[Service]
User=bot
WorkingDirectory=/home/bot/app
EnvironmentFile=/home/bot/app/.env
Environment=PYTHONUNBUFFERED=1
ExecStart=/home/bot/app/.venv/bin/python -m bot
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Включение: sudo systemctl enable --now shop-bot, журнал в реальном времени: journalctl -u shop-bot -f. Подробнее о политиках перезапуска и защите от бесконечных рестартов: как запустить бота 24/7.
04 · 1 мин
Бот на Python в Docker: Dockerfile и compose#
Docker удобен, когда ботов несколько или им нужны разные версии Python. Образ python-slim весит меньше полного, а зависимости ставятся отдельным слоем и не пересобираются при каждой правке кода.
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
ENV PYTHONUNBUFFERED=1
CMD ["python", "-m", "bot"]
services:
shop-bot:
build: .
env_file: .env
restart: unless-stopped
volumes:
- ./data:/app/data
Том data нужен, если бот хранит SQLite или файлы пользователей: без него всё пропадёт при пересоздании контейнера. Для PostgreSQL рядом добавьте отдельный сервис, настройка описана на странице PostgreSQL.
Инструмент · 1 мин
Как обновлять бота на Python и какой сервер взять#
Обновление бота сводится к трём командам: git pull, установка зависимостей и перезапуск службы или docker compose up -d --build. Перед обновлением мажорной версии библиотеки читайте её список изменений: переход на новую крупную версию aiogram или python-telegram-bot может потребовать правок в коде.
Сервер для бота на Python
Ответьте про библиотеки, базу и способ запуска
06 · 1 мин
Вопросы о хостинге бота на Python#
Какая версия Python нужна для бота на aiogram 3?
aiogram 3.31.0 работает на Python от 3.10 до 3.14. В Ubuntu 22.04 системный Python 3.10, в 24.04 Python 3.12, оба подходят.
Почему логи бота на Python не появляются в journalctl?
Python буферизует вывод, когда он идёт не в терминал. Добавьте в службу Environment=PYTHONUNBUFFERED=1 или запускайте интерпретатор с флагом -u.
Нужен ли Docker для бота на Python?
Нет. Одному боту хватает виртуального окружения и службы systemd. Docker упрощает жизнь, когда ботов несколько, им нужны разные версии Python или рядом работает база.
Почему этому можно верить
Как мы проверяли
Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026; PyPI: aiogram, версия и поддерживаемый Python, pypi.org/project/aiogram, проверено 14 октября 2026; PyPI: python-telegram-bot, версия и поддерживаемый Python, pypi.org/project/python-telegram-bot, проверено 14 октября 2026.
Запустите свой сервер за пару минут
Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.
- NVMe-диски и гарантированная доля процессора
- Root-доступ и любой софт, от Docker до игровых серверов
- Маркетплейс: 91 приложение в один клик
- Бесплатный перенос проекта силами специалистов