Чтобы бот работал 24/7 независимо от вашего компьютера, его нужно разместить на сервере.
Самый надежный и гибкий вариант.
- DigitalOcean - от $4/мес, простой интерфейс
- Hetzner - от €4/мес, отличная цена/качество
- Timeweb - от 199₽/мес, российский провайдер
- REG.RU VPS - от 249₽/мес
- AWS Lightsail - от $3.5/мес
- Linode - от $5/мес
ssh root@ваш_ip_адрес# Обновите систему
apt update && apt upgrade -y
# Установите Python 3.11+ и git
apt install python3 python3-pip python3-venv git -y# Создайте директорию
mkdir -p /opt/bot
cd /opt/bot
# Загрузите файлы (используйте git или scp)
# Вариант 1: Если у вас есть git репозиторий
git clone https://ваш-репозиторий.git .
# Вариант 2: Загрузите файлы через scp с вашего ПК
# На вашем ПК выполните:
# scp -r C:\bot\* root@ваш_ip:/opt/bot/# Создайте виртуальное окружение
python3 -m venv venv
source venv/bin/activate
# Установите зависимости
pip install -r requirements.txtnano .env
# Скопируйте туда ваши настройки из env_template.txt# Скопируйте файл службы
cp bot_polya.service /etc/systemd/system/
# Перезагрузите systemd
systemctl daemon-reload
# Включите автозапуск
systemctl enable bot_polya
# Запустите бота
systemctl start bot_polya
# Проверьте статус
systemctl status bot_polya# Просмотр логов
journalctl -u bot_polya -f
# Остановка бота
systemctl stop bot_polya
# Перезапуск бота
systemctl restart bot_polyaРаботает на любом сервере с Docker.
# Постройте образ
docker build -t telegram-bot .
# Запустите контейнер
docker run -d --name bot --restart always --env-file .env telegram-bot# Просмотр логов
docker logs -f bot
# Остановка
docker stop bot
# Перезапуск
docker restart bot*Бесплатный план: $5 в месяц в виде кредитов
- Создайте аккаунт на https://railway.app
- Нажмите "New Project" → "Deploy from GitHub repo"
- Подключите ваш GitHub репозиторий
- Railway автоматически обнаружит Python проект
- Добавьте переменные окружения из .env в настройках проекта
- Railway автоматически запустит бота
Важно: Загрузите token.json, oauth_client.json, service_account.json через Volume или переменные окружения.
- Создайте аккаунт на https://render.com
- Нажмите "New +" → "Background Worker"
- Подключите GitHub репозиторий
- Настройки:
- Environment: Python 3
- Build Command:
pip install -r requirements.txt - Start Command:
python bot_polya.py
- Добавьте переменные окружения
Важно: На бесплатном плане сервис засыпает после 15 минут бездействия.
Если у вас есть старый компьютер или Raspberry Pi:
- Установите Linux (Ubuntu/Debian)
- Следуйте инструкции для VPS
- Настройте автозапуск через systemd
- Обеспечьте постоянное питание и интернет
-
Никогда не комитьте .env файл в Git!
# Добавьте в .gitignore: .env token.json service_account.json oauth_client.json reports.db *.db
-
На сервере используйте отдельного пользователя (не root)
useradd -m -s /bin/bash botuser chown -R botuser:botuser /opt/bot
-
Настройте firewall
ufw allow 22/tcp ufw enable
# С вашего Windows ПК (PowerShell):
scp C:\bot\.env root@ваш_ip:/opt/bot/
scp C:\bot\token.json root@ваш_ip:/opt/bot/
scp C:\bot\oauth_client.json root@ваш_ip:/opt/bot/
scp C:\bot\service_account.json root@ваш_ip:/opt/bot/
scp C:\bot\reports.db root@ваш_ip:/opt/bot/- Создайте приватный репозиторий на GitHub
- Добавьте файлы (кроме секретных)
- На сервере клонируйте репозиторий
- Секретные файлы передайте через SCP или настройте через переменные окружения
cd /opt/bot
git pull # если используете git
systemctl restart bot_polya # перезапустите службу# Проверьте логи
journalctl -u bot_polya -n 50
# Проверьте статус
systemctl status bot_polya# Убедитесь, что reports.db находится в /opt/bot/
ls -la /opt/bot/reports.db# Убедитесь, что token.json актуален
# Возможно потребуется повторная авторизация| Вариант | Цена | Плюсы | Минусы |
|---|---|---|---|
| VPS (Hetzner) | €4-5/мес | Полный контроль, надежность | Требует настройки |
| Railway | $5/мес кредитов | Простота, автодеплой | Ограниченные ресурсы |
| Render | $0-7/мес | Бесплатный план есть | Засыпает на free |
| Raspberry Pi | ~3000₽ один раз | Ваше оборудование | Зависит от электричества |
Для постоянной работы бота рекомендую VPS от Hetzner или Timeweb:
- Стабильность 99.9%
- Простая настройка через systemd
- Полный контроль
- Низкая цена
Для быстрого старта без настройки - Railway.app
После настройки хостинга:
- Убедитесь, что бот отвечает на команды
- Проверьте автоматический экспорт в Google Sheets (если настроен)
- Настройте мониторинг (опционально)