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.

Deploy Bot VPS From $15.59/mo · 1 GB RAM is enough for most bots

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

Webhook-friendly

Public IP, your domain, your TLS. Webhook mode beats long-poll on latency and CPU. Free tiers usually only support long-poll.

No idle-sleep

Free hosts sleep your bot on inactivity. A VPS runs 24/7 and replies in under a second every time.

Real disk for SQLite/Redis

Persist user state, conversation memory, scheduled tasks. Free tiers wipe disk on restart.

Run several bots

5-10 small bots on a single VPS, isolated by Docker or systemd. One bill, infinite bots.

7 locations

Pick the location closest to your users for fast webhook delivery and message round-trip.

Anonymous

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.

Other use cases