Zurück zur Startseite

Telegram Bot in 8 Minuten deployen | Entwicklerhandbuch

Praktische Anleitung zum Deployen eines Telegram Bots auf VPS in 8 Minuten. Detaillierte Servereinrichtung, Projektübertragung via SFTP, PM2-Konfiguration für Auto-Start. Lösung gängiger Deployment-Probleme.

So deployen Sie einen Telegram Bot in 8 Minuten: Praktische Anleitung
Advertisement 728x90

# Schneller Einsatz eines Telegram-Bots auf einem VPS: Vom lokalen Start zum 24/7-Betrieb

Sie haben die Entwicklung Ihres Telegram-Bots abgeschlossen, aber ein lokaler Betrieb gewährleistet keine konstante Verfügbarkeit. Die meisten Entwickler kämpfen mit dem Bereitstellen in der Produktion und fühlen sich von der unendlichen Menge an Infos zu Docker und Kubernetes überfordert. Tatsächlich können Sie ihn in nur 8 Minuten mit minimalen Ressourcen bereitstellen. Diese Anleitung zeigt, wie Sie einen aiogram-Bot auf einem günstigen VPS ohne komplizierte Setups bereitstellen – mit einfachen Linux-Tools.

Vorbereitung der Infrastruktur

Die Wahl eines Cloud-Providers ist entscheidend für den zuverlässigen Bot-Betrieb. Timeweb Cloud bietet Zugriff auf Server in 12 geographischen Regionen, einschließlich Standorte außerhalb Russlands. Das ist essenziell, um APIs zu nutzen, die in der Russischen Föderation gesperrt sind (Groq, ChatGPT und andere AI-Dienste). Für Bots ohne externe Abhängigkeiten reichen russische Rechenzentren.

Wichtige Serverparameter:

Google AdInline article slot
  • OS: Ubuntu 24.04 LTS
  • Konfiguration: minimal (1 vCPU, 1 GB RAM, 25 GB SSD)
  • Kosten: ab 290 ₽/Monat
  • Backups: Aktivierung empfohlen

Beim Erstellen der Instanz den Backups-Bereich prüfen. Backups schützen vor:

  • Serverabstürzen
  • Korruption der SQLite-Datenbank
  • Fehlern bei Code-Updates
  • Unabsichtlichem Löschen von Dateien

Das Backup-System von Timeweb ermöglicht die Wiederherstellung des Projektstands aus den letzten 7 Tagen in 24-Stunden-Intervallen. Das ist entscheidend, um Datenverlust bei Tests neuer Features zu vermeiden.

Einrichtung der Serverumgebung

Nach der Aktivierung des Servers per SSH verbinden:

Google AdInline article slot
ssh root@your_IP_address

Systempakete aktualisieren und benötigte Komponenten installieren:

sudo apt update && sudo apt upgrade -y
sudo apt install python3 python3-pip git -y
npm install pm2 -g

Wichtig: Vor der Installation von Abhängigkeiten die Python-Version prüfen:

python3 --version

Für Projekte mit virtueller Umgebung:

Google AdInline article slot
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Projektübertragung und Start

SFTP für den Dateitransfer nutzen. In FileZilla eingeben:

  • Host: Server-IP-Adresse
  • Login: root
  • Passwort: aus dem Control Panel
  • Port: 22

Nach dem Kopieren des Projekts auf den Server:

  • In das Projektverzeichnis navigieren
  • Virtuelle Umgebung aktivieren
  • Abhängigkeiten installieren
  • Bot über PM2 starten
cd /root/your_project
source venv/bin/activate
pm2 start main.py --name "telegram-bot"

PM2 sorgt für Auto-Restart nach Reboots und überwacht Abstürze. Prozessstatus prüfen:

pm2 status

Wartung und Updates

Bei Code-Änderungen diese Checkliste strikt befolgen:

  • Dateien über SFTP bearbeiten (FileZilla → View/Edit)
  • Änderungen speichern (Ctrl+S)
  • Sync in FileZilla bestätigen
  • Prozess in PM2 neu starten
pm2 restart telegram-bot

Zum Troubleshooting nutzen:

  • pm2 logs — Live-Logs anzeigen
  • pm2 monit — Ressourcen überwachen
  • pm2 resurrect — Nach Abstürzen wiederherstellen

Wichtige Punkte

  • Tokens immer in .env speichern
  • Automatische Backups alle 24 Stunden einrichten
  • Updates in isoliertem Branch testen
  • Speicherverbrauch mit htop überwachen
  • Systempakete regelmäßig aktualisieren

Performance-Optimierung

Für Bots mit hoher Last (über 1000 aktive Nutzer) empfohlene Schritte:

  • Swap-Datei einrichten
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
  • PM2-Ressourcen begrenzen

In ecosystem.config.js:

module.exports = {
  apps: [{
    name: 'telegram-bot',
    script: 'main.py',
    instances: 1,
    autorestart: true,
    max_memory_restart: '300M'
  }]
}
  • Firewall einrichten
sudo ufw allow OpenSSH
sudo ufw allow 22/tcp
sudo ufw enable

Ein häufiger Anfängerfehler ist der Start des Bots ohne Daemonisierung. Beim Schließen der SSH-Session stirbt der Prozess. PM2 löst das, erfordert aber korrekte Autostart-Konfiguration:

pm2 startup
sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u root --hp /root

Für Verfügbarkeitsüberwachung einen einfachen Health-Check-Endpoint in den Bot-Code einfügen:

from aiogram import Router

router = Router()

@router.message(Command('health'))
async def health_check(message: Message):
    await message.answer('Bot is running')

Logs regelmäßig auf Telegram-API-Verbindungsfehler prüfen. Typische Probleme:

  • Ungültiges Token in .env
  • IP-Adresse gesperrt
  • Rate Limits überschritten
  • Webhook-Behandlungsfehler

Bei Webhooks Nginx als Reverse-Proxy mit SSL-Zertifikat einrichten. Für Bots mit niedriger Last reicht der Polling-Modus ohne zusätzliche Infrastruktur.

— Editorial Team

Advertisement 728x90

Weiterlesen