Flowise auf einem Hetzner Ubuntu-Server selbst hosten

Flowise auf einem Hetzner Ubuntu-Server selbst hosten

Yulei Chen - Content-Engineerin bei sliplane.ioYulei Chen
8 min

Möchtest du KI-Agenten mit Flowise erstellen, bevorzugst aber die volle Kontrolle über deine Infrastruktur? Durch das Selbsthosten von Flowise auf einem Ubuntu-Server kannst du Kosten senken und deine Daten selbst verwalten!

Suchst du nach etwas Einfacherem? Wenn du lieber die Serververwaltung überspringen und Flowise in nur 1 Minute für 9€/Monat bereitstellen möchtest, schau dir unsere Anleitung zum Flowise deployen - So geht's mit Sliplane an.

Folge dieser leicht verständlichen Anleitung, um zu lernen, wie du deine eigene Flowise-Instanz mit Docker und dem Caddy-Webserver für automatische HTTPS bereitstellen kannst.

Für diesen Beitrag verwenden wir einen günstigen Server von Hetzner. Hetzner ist bekannt für großartigen Service zu einem außergewöhnlichen Preis-Leistungs-Verhältnis und ist daher eine ausgezeichnete Wahl für das Hosten von KI-Anwendungen wie Flowise.

Voraussetzungen

Bevor wir beginnen, stelle sicher, dass du ein Hetzner Cloud-Konto hast (oder bereit bist, eines zu erstellen).

Schritt 1: Deinen Hetzner-Server einrichten

Wenn du noch keinen Hetzner-Server hast, folge diesen Schritten, um einen zu erstellen (das Video-Tutorial ist unten angehängt):

  1. Gehe zur Hetzner Cloud Console, wähle ein Projekt aus oder erstelle ein neues, dann navigiere zu ServersAdd Server
  2. Folge Hetzners Richtlinien, um zu wählen:
    • Server-Typ: Wähle einen Server-Typ, der deinen Bedürfnissen entspricht.
    • Standort: Wähle einen Rechenzentrumsstandort, der dir oder deinen Benutzern am nächsten ist.
    • Image: Wähle Ubuntu (neueste LTS-Version empfohlen).
  3. SSH-Schlüssel hinzufügen: Füge deinen öffentlichen SSH-Schlüssel für sicheren Zugriff hinzu. Wenn du noch keinen SSH-Schlüssel hast, kannst du einen mit ssh-keygen generieren:
    ssh-keygen -t ed25519 -C "your_email@example.com"
    
  4. Klicke auf Create & Pay, um deinen Server bereitzustellen

Sobald dein Server erstellt wurde, notiere dir seine IP-Adresse. Du wirst diese verwenden, um dich im nächsten Schritt per SSH zu verbinden.

Schritt 2: Deinen Server aktualisieren

Öffne dein Terminal und melde dich per SSH auf deinem Ubuntu-Server an:

ssh root@[deine-IP-Adresse]

und aktualisiere das System, um sicherzustellen, dass es die neuesten Sicherheitspatches und Updates hat:

sudo apt-get update
sudo apt-get upgrade -y

Sobald dies abgeschlossen ist, ist dein Server bereit für die Installation der Software.

Schritt 3: UFW-Firewall installieren und konfigurieren

Halte nur notwendige Ports offen: SSH (22), HTTP (80), HTTPS (443).

Installiere UFW und konfiguriere die Firewall wie folgt:

sudo apt install ufw -y
sudo ufw allow 22    # SSH
sudo ufw allow 80    # HTTP
sudo ufw allow 443   # HTTPS
sudo ufw enable

Überprüfe deine Firewall-Konfiguration:

sudo ufw status verbose

Hinweis: Docker kann manchmal UFW-Regeln ignorieren. Um dies zu beheben, überprüfe zusätzliche Einstellungen, wie hier erklärt.

Schritt 4: Docker-Installation

Docker wird das Container-System sein, das Flowise ausführt. Installiere Docker, indem du diese Befehle ausführst:

Abhängigkeiten und Docker's GPG-Schlüssel einrichten:

sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Docker-Repository hinzufügen:

echo \
  "deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

Docker Engine und compose-plugin installieren:

sudo apt-get install docker-ce docker-ce-cli \
containerd.io docker-buildx-plugin docker-compose-plugin -y

Installation überprüfen:

sudo docker run hello-world

Wenn du die "hello-world"-Nachricht siehst, ist Docker bereit.

Schritt 5: Caddy für automatische HTTPS installieren

Caddy vereinfacht die HTTPS-Konfiguration, da es SSL-Zertifikate automatisch von Let's Encrypt verwaltet.

Caddy installieren:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' \
| sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' \
| sudo tee /etc/apt/sources.list.d/caddy-stable.list

sudo apt update
sudo apt install caddy -y

Bevor du Caddy konfigurierst, musst du deine Domain auf die IP-Adresse deines Servers zeigen. Wenn du DNS noch nicht konfiguriert hast, folge diesen Schritten:

DNS für deine Domain konfigurieren

  1. Melde dich im Dashboard deines Domain-Registrars an (wo du deine Domain gekauft hast)
  2. Navigiere zu den DNS-Einstellungen oder dem DNS-Verwaltungsbereich
  3. Füge einen A-Record mit folgenden Einstellungen hinzu:
    • Typ: A
    • Name: @ (für Root-Domain) oder eine Subdomain wie flowise (für flowise.deinedomain.com)
    • Wert/Ziel: Die IPv4-Adresse deines Hetzner-Servers
  4. Füge einen AAAA-Record für IPv6-Unterstützung hinzu:
    • Typ: AAAA
    • Name: @ (für Root-Domain) oder dieselbe Subdomain, die du für den A-Record verwendet hast
    • Wert/Ziel: Die IPv6-Adresse deines Hetzner-Servers

Hinweis: DNS-Änderungen können einige Minuten bis mehrere Stunden dauern, bis sie propagiert sind. Du kannst überprüfen, ob dein DNS korrekt konfiguriert ist, mit Tools wie dig oder Online-DNS-Checkern. Sobald der DNS-Record aktiv ist, kannst du mit der Caddy-Konfiguration fortfahren.

Caddy konfigurieren

Bearbeite die Caddyfile-Konfigurationsdatei:

sudo nano /etc/caddy/Caddyfile

Gib deine Domain ein und konfiguriere den Reverse-Proxy. Ersetze "yourdomain.com" mit deinem tatsächlichen Domain-Namen:

yourdomain.com {
    reverse_proxy localhost:3000
}

Wenn du noch keine Domain hast, verwende dies vorübergehend:

:80 {
    reverse_proxy localhost:3000
}

Starte Caddy neu, um die Konfiguration zu laden:

sudo systemctl restart caddy

Schritt 6: Flowise mit Docker Compose ausführen

Wir werden Docker Compose für eine einfachere Einrichtung verwenden. Erstelle zuerst ein Verzeichnis für Flowise und navigiere dorthin:

mkdir ~/flowise
cd ~/flowise

Erstelle compose.yml mit folgendem Inhalt:

services:
  flowise:
    image: flowiseai/flowise:3.0.12
    restart: always
    ports:
      - "3000:3000"
    volumes:
      - flowise_data:/root/.flowise
    environment:
      - DATABASE_PATH=/root/.flowise
      - SECRETKEY_PATH=/root/.flowise
      - LOG_PATH=/root/.flowise/logs
      - BLOB_STORAGE_PATH=/root/.flowise/storage

volumes:
  flowise_data:

Diese Einrichtung stellt sicher:

  • Deine Datenbank bleibt über Container-Neustarts hinweg erhalten
  • Geheimnisse werden nicht zurückgesetzt
  • Logs und Datei-Uploads bleiben zwischen Neustarts erhalten

Stelle Flowise nun bereit, indem du Docker Compose ausführst:

sudo docker compose up -d

Docker lädt das Flowise-Image herunter und führt es im Hintergrundmodus auf Port 3000 aus.

Schritt 7: Auf deine selbstgehostete Flowise-Instanz zugreifen

Besuche deine Domain in einem beliebigen Webbrowser. Deine Flowise-Instanz sollte jetzt erfolgreich unter https://yourdomain.com laden. Folge den Einrichtungsschritten in der Oberfläche, um deine erste Einrichtung abzuschließen.

Sicherheitsempfehlungen

Öffentliche Server sollten immer sicher sein. Die folgenden Praktiken werden empfohlen:

  • Wende regelmäßig Updates und Sicherheitspatches an.
  • Setze starke Passwörter und kontrolliere den Benutzerzugriff.
  • Überwache Server-Logs auf verdächtige Aktivitäten.
  • Installiere Tools wie Fail2ban für zusätzliche Sicherheit.

Deine Flowise-Installation aktualisieren

Wenn du deine Flowise-Instanz aktualisieren möchtest, überprüfe zuerst die neueste Version auf Docker Hub, aktualisiere dann die Image-Version in deiner compose.yml-Datei und führe aus:

sudo docker compose pull
sudo docker compose up -d

Docker lädt automatisch aktualisierte Versionen herunter und ersetzt deine aktuellen Container.

Kostenvergleich mit anderen Anbietern

Das Selbsthosten von Flowise führt typischerweise zu niedrigeren Kosten im Vergleich zu gehosteten Diensten:

AnbietervCPURAMDiskMonatliche Kosten
Render.com12 GB40 GB~$35
Fly.io22 GB40 GB~$17–20
Railway22 GB40 GB~$15–30
Sliplane.io22 GB40 GB~€9.50 flat
Hetzner Cloud (selbstgehostet)22 GB40 GB~€5–10/Monat

Du behältst die volle Kontrolle und vermeidest zusätzliche nutzungsbasierte Gebühren durch das Selbsthosten. Aber natürlich gibt es kein kostenloses Mittagessen und du bist jetzt verantwortlich für die Verwaltung deines eigenen Servers!

Flowise in Minuten deployen

Wenn die Verwaltung und Absicherung deines eigenen Servers etwas zu viel für dich ist, schau dir an, wie einfach es ist, eine verwaltete Flowise-Instanz auf Sliplane mit einem Klick zu deployen!

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!