Home / Servers / Telegram Bot VPS
Host Telegram bots 24/7 on a no-KYC VPS
Run your aiogram, python-telegram-bot, Telegraf, or grammY bot on a real server with stable uptime and a clean public IP for webhooks. Anonymous signup, no email required, no KYC. Pay with crypto or card, full root, no logs.
Quick start: aiogram bot under systemd
Tested on Ubuntu 24. Pick a 1 GB+ plan, deploy, SSH in.
# 1. Install Python 3.11
apt update && apt install -y python3.11 python3.11-venv
# 2. Drop your bot in /opt/bot
mkdir /opt/bot && cd /opt/bot
python3.11 -m venv .venv
source .venv/bin/activate
pip install aiogram # or: python-telegram-bot, pyTelegramBotAPI, etc.
# git clone your-bot-repo .
# 3. systemd service
cat > /etc/systemd/system/tg-bot.service <<'EOF'
[Unit]
Description=Telegram bot
After=network.target
[Service]
WorkingDirectory=/opt/bot
EnvironmentFile=/opt/bot/.env
ExecStart=/opt/bot/.venv/bin/python main.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now tg-bot
journalctl -fu tg-bot # tail logs
# 4. (Optional) For webhook mode, put Caddy in front:
# bot.yourdomain.com {
# reverse_proxy localhost:8443
# }
Why a VPS for Telegram bots
Public IP, your domain, your TLS. Webhook mode beats long-poll on latency and CPU. Free tiers usually only support long-poll.
Free hosts sleep your bot on inactivity. A VPS runs 24/7 and replies in under a second every time.
Persist user state, conversation memory, scheduled tasks. Free tiers wipe disk on restart.
5-10 small bots on a single VPS, isolated by Docker or systemd. One bill, infinite bots.
Pick the location closest to your users for fast webhook delivery and message round-trip.
No email, no card-on-file, no name. Pay XMR/BTC and ship. Useful for niche, regional, or sensitive bots.
Frequently asked questions
Long-poll or webhook mode?
Webhook is lower latency, lower CPU, scales better. Long-poll is simpler if you do not own a domain or do not want to set up TLS. With Caddy on a Servury VPS, webhook is 5 minutes of work. Most production bots use webhook.
How much RAM?
Most bots: 256-512 MB. AI-powered bots: 2 GB. We sell 1 GB as a comfortable starter. Pick bigger if your bot wraps an LLM or does heavy data work.
Can I host the local Bot API?
Yes. Telegram's tdlib-based local Bot API server runs fine on a 4 GB VPS, lets you upload up to 2 GB files, and removes some rate limits. Worth it for media-heavy bots.
How do I keep the bot up after a crash?
systemd Restart=always (shown in the snippet) or Docker --restart=unless-stopped. Either way the bot self-heals on crash and reboot.
Can I run multiple bots on the same VPS?
Yes. One systemd unit per bot, separate dirs and .env files. Or one Docker compose with multiple services.
How do I update the bot?
git pull + systemctl restart. Or set up a deploy webhook that does it automatically on git push.
What about Telegram MTProto user-bots?
Same VPS works. Telethon and Pyrogram run fine. Just respect Telegram's ToS for user-account-driven bots.
Does Servury log my bot traffic?
No. No application-level logging on customer servers. Anonymous signup, crypto/card payment, no logs.