Step-by-step: deploy a Python Telegram bot on a VPS with systemd auto-restart. Real commands, works on any Ubuntu VPS. From €12/mo.
Works on any Ubuntu 22.04/24.04 VPS. Total cost: from €12/mo - a bot doesn't need more than the entry plan.
Order any plan on our plans page - for a bot, Core VPS 4 (€12) is enough. You'll get IP, login and password by email, usually within a few minutes.
ssh root@YOUR_SERVER_IP apt update && apt upgrade -y apt install -y python3-pip python3-venv
mkdir -p /opt/mybot && cd /opt/mybot
python3 -m venv venv
source venv/bin/activate
pip install "python-telegram-bot==21.*"
cat > bot.py <<'EOF'
from telegram.ext import ApplicationBuilder, CommandHandler
async def start(update, context):
await update.message.reply_text("Hello from Buran!")
app = ApplicationBuilder().token("YOUR_BOT_TOKEN").build()
app.add_handler(CommandHandler("start", start))
app.run_polling()
EOFcat > /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 systemctl status mybot
Done. The bot restarts on crash and on server reboot. Need an upgrade path later? See all plans.