Telegram Bot Hosting on VPS from €12

Host a Telegram bot 24/7 on your own VPS: polling or webhook over HTTPS, systemd auto-restart, from €12/mo. Dedicated IPv4, card or crypto, live in minutes.

Why a bot needs its own VPS

Free hosts sleep after inactivity, cap executions and restart your process in the middle of a job. A VPS removes all three: your process runs until you stop it, updates from Telegram land on your dedicated IPv4 without port forwarding, and you decide when to update the bot — not a platform maintenance window.

What keeps it running

  • systemd auto-restart — crash or reboot, the bot is back in seconds (guide).
  • Polling to start, webhook to grow — polling needs no domain; webhook over HTTPS behind Caddy or nginx is the production pattern (Node.js guide).
  • Logs you can read — journald keeps the history; grep it or ship it wherever you want.
  • Room to grow — add PostgreSQL when the bot needs a database, without moving hosts.

Which plan fits a bot

WorkloadOffreWhy
One bot, no databaseCore VPS 4 — 12 €/moisA Python bot idles around 150 MB — 8 GB leaves headroom for media and logs
Bot + PostgreSQL + message historyCore VPS 6 NVMe — €13/moNVMe keeps history queries fast under constant writes
Several bots, CI, stagingCore VPS 8 — 30 €/mois24 GB for parallel services on one box

Live in three steps

  1. Create the bot @BotFather gives you a token in a minute — that string is all the registration a bot needs.
  2. Deploy it venv, `pip install`, a systemd unit — the 10-minute guide has every command.
  3. Pick a mode and watch Polling works from minute one; switch to a webhook behind Caddy when traffic grows. `systemctl status mybot` and journald tell you everything.
cat > /etc/systemd/system/mybot.service <<'EOF'
[Unit]
Description=My Telegram Bot
After=network-online.target
[Service]
WorkingDirectory=/opt/mybot
ExecStart=/opt/mybot/venv/bin/python bot.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now mybot

Réponses rapides

Polling or webhook?

Polling to start: no domain, no certificate, works from minute one — the guide uses it. Webhook when you grow: Telegram pushes updates to your server over HTTPS, so put Caddy or nginx in front of the bot process.

Do I need a domain?

Not for polling — the bot connects outward on its own. For a webhook a hostname with a certificate is the clean way (Caddy issues it automatically); start without one and add it when you switch.

How much RAM does a bot need?

A single Python bot idles around 150 MB, a Node.js bot around 80 MB. Even the entry 8 GB plan runs a bot plus a database plus a staging copy with room to spare.

Your bot, your server €12 to start, crypto accepted, live in minutes. See plans →

À lire aussi

Voir les offresGuidesFAQ