Offshore Use Cases RU

VPS для Telegram-бота: как выбрать и настроить сервер

Telegram-бот требует VPS с постоянным интернет-подключением и достаточным аптаймом - локальный компьютер для этой задачи не подойдет. Хорошая новость: требования к серверу для большинства ботов очень скромные, а значит стоимость минимальная.

Need this done for your project?

We implement, you ship. Async, documented, done in days.

Start a Brief

Минимальные требования для разных типов ботов

Выбор мощности зависит от функциональности бота:

  • Простой бот (ответы на команды, статические данные): 1 vCPU, 512 MB RAM. Даже Romania VPS Mini избыточен для такого бота - легко запустить 3-5 ботов на одном плане.
  • Бот с базой данных (SQLite, PostgreSQL): 1-2 vCPU, 1-2 GB RAM. Romania VPS Mini $19.99 справится.
  • Бот с интеграцией AI/GPT (запросы к OpenAI API): 1 vCPU, 1 GB RAM достаточно - тяжёлые вычисления на стороне OpenAI.
  • Бот с локальной LLM (llama.cpp, Ollama): 4-8 vCPU, 8-16 GB RAM + GPU. Требует Iceland VPS III или Dedicated.
  • 10+ ботов на одном сервере через Docker: 2-4 vCPU, 4 GB RAM. Iceland VPS I $49.99.

Запуск Python-бота на VPS: пошаговая инструкция

Для бота на aiogram (асинхронный, наиболее производительный):

apt update && apt install python3 python3-pip -y

pip3 install aiogram

Для автоматического перезапуска создайте systemd-юнит:

/etc/systemd/system/mybot.service:

[Unit]
Description=Telegram Bot
After=network.target
[Service]
User=root
WorkingDirectory=/root/mybot
ExecStart=/usr/bin/python3 /root/mybot/bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target

systemctl enable mybot && systemctl start mybot

Node.js Telegram-бот: Telegraf.js

Для разработчиков предпочитающих JavaScript:

apt install nodejs npm -y

npm install telegraf

Пример минимального бота:

const { Telegraf } = require('telegraf');
const bot = new Telegraf(process.env.BOT_TOKEN);
bot.on('text', ctx => ctx.reply('Привет!'));
bot.launch();

Для продакшна используйте PM2 вместо node напрямую:

npm install -g pm2
pm2 start bot.js --name mybot
pm2 startup && pm2 save

Мониторинг и надёжность бота

Для серьёзного бота нужен мониторинг доступности:

  • UptimeRobot (бесплатно): Пингует ваш бот каждые 5 минут. Telegram-уведомление при падении.
  • Встроенный Health Check через Webhook: Настройте бота на webhook вместо polling - Telegram сам определяет недоступность.
  • Логирование: Пишите логи в файл с ротацией: journalctl -u mybot -n 100 или через Python logging с RotatingFileHandler.
  • Автообновление кода: Cron + git pull + systemctl restart mybot для автодеплоя при push в репозиторий.

Why Anubiz Host

100% async — no calls, no meetings
Delivered in days, not weeks
Full documentation included
Production-grade from day one
Security-first approach
Post-delivery support included

Ready to get started?

Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.

Anubiz Chat AI

Online