Skip to main content

Dein erstes AI & Automation Lab

Dein erstes AI & Automation Lab

Ziel: In ca. 60 Minuten baust du dir auf deinem Laptop ein eigenes AI-Chat-System und eine Automationsplattform — allesmit lokal,einem ohneleistungsstarken Cloud,KI-Modell ohneaus Accounts.der IONOS Cloud.

Was du am Ende hast:

  • EinZugriff lokalesauf ein leistungsstarkes Large Language Model (LLM),Mistral dasSmall du24B) über die IONOS Cloud
Eine Chat-Oberfläche im BrowserBrowser, befragendie kannstaussieht wie ChatGPT Eine Automationsplattform (n8n), die das LLM automatisiert nutzen kann Grundverständnis für Docker, LLMs und Workflow-Automation

Teil 0 — System vorbereiten und Benutzer einrichten (510 Min.)

Bevor es losgeht, legenbringen wir einendas eigenenSystem Benutzerauf an,den mitneuesten demStand duund installieren die gesamtenötigen Installation durchführst.Grundlagen. Melde dich dazu zunächst als Root oder mit einem bestehenden Administrator-Account an.

Schritt 1: System aktualisieren

apt update && apt upgrade -y
    apt update — aktualisiert die Liste aller verfügbaren Softwarepakete. Dein System weiß danach, welche Programme in welchen Versionen verfügbar sind — es wird aber noch nichts installiert oder geändert. && — bedeutet "und danach". Der zweite Befehl wird nur ausgeführt, wenn der erste erfolgreich war. apt upgrade -y — installiert die neuesten Versionen aller bereits installierten Pakete. Das -y beantwortet alle Rückfragen automatisch mit "Ja", damit du nicht jedes Update einzeln bestätigen musst.

    Schritt 2: curl installieren

    apt install curl -y
    
      apt install — installiert ein neues Softwarepaket. curl — ein Kommandozeilen-Werkzeug, das Dateien aus dem Internet herunterladen kann. Wir brauchen es gleich, um das Docker-Installationsskript herunterzuladen. -y — wie oben: automatisch mit "Ja" bestätigen.

      Schritt 3: Zeitzone setzen

      timedatectl set-timezone Europe/Berlin
      
        timedatectl — ein Werkzeug zur Verwaltung der Systemzeit und Zeitzone. set-timezone Europe/Berlin — stellt die Zeitzone auf Mitteleuropäische Zeit (MEZ/MESZ). Das ist wichtig, damit Zeitstempel in Logs und zeitgesteuerte Workflows (z.B. in n8n) die richtige Uhrzeit verwenden.

        Schritt 4: Benutzer einrichten

        Lege jetzt einen eigenen Benutzer an, mit dem du die restliche Installation durchführst.


        Teil 1 — Docker installieren (10 Min.)

        Schritt 1: Docker herunterladen und installieren

        curl -fsSL https://get.docker.com -o get-docker.sh
        sh get-docker.sh
        
          curl -fsSL https://get.docker.com — lädt das offizielle Docker-Installationsskript herunter.
            -f — schlägt bei HTTP-Fehlern leise fehl (statt eine Fehlerseite herunterzuladen). -s — "silent", unterdrückt den Fortschrittsbalken. -S — zeigt trotzdem Fehlermeldungen an (in Kombination mit -s). -L — folgt automatisch Weiterleitungen (falls die URL auf eine andere Adresse umleitet). -o get-docker.sh — speichert die heruntergeladene Datei unter dem Namen get-docker.sh. sh get-docker.sh — führt das heruntergeladene Skript aus. Es erkennt automatisch dein Betriebssystem und installiert Docker mit allen nötigen Abhängigkeiten.

            Schritt 2: Docker Compose Plugin installieren

            apt install docker-compose-plugin -y
            
              docker-compose-plugin — installiert Docker Compose als Plugin für Docker. Docker Compose ermöglicht es, mehrere Container mit einer einzigen Konfigurationsdatei zu starten und zu verwalten.

              Schritt 3: Docker Compose Version prüfen:prüfen

              docker compose version
              

              Du solltest eine aktuelle Version sehen (z.B. v2.x.x).


              Teil 2 — Alles starten mit Docker Compose (10 Min.)

              Statt jeden Dienst einzeln zu starten, beschreiben wir alles in einer einzigen Datei. Docker Compose liest diese Datei und startet alle Services automatisch — mit den richtigen Einstellungen, Verbindungen und Abhängigkeiten.

              Schritt 1: Projektordner anlegen

              mkdir ~/ai-lab && cd ~/ai-lab
              
              • mkdir — steht für "make directory" und erstellt einen neuen Ordner.
              • ~/ai-lab — die Tilde ~ ist eine Abkürzung für dein Home-Verzeichnis (z.B. /home/praktikant). Der Ordner heißt also ai-lab und liegt direkt in deinem Benutzerordner.
              • cd — steht für "change directory" und wechselt in den angegebenen Ordner. Danach bist du "drin" und alle weiteren Befehle beziehen sich auf diesen Ordner.

              Schritt 2: Docker-Compose-Datei erstellen

              nano docker-compose.yml
              
              • nano — ein einfacher Texteditor im Terminal. Er öffnet sich direkt im selben Fenster. Bedienung: Tippen zum Schreiben, Ctrl + O zum Speichern, Ctrl + X zum Schließen.
              • docker-compose.yml — der Dateiname, den Docker Compose automatisch sucht. .yml (auch .yaml) ist ein Dateiformat für strukturierte Konfigurationen — ähnlich wie eine Einkaufsliste mit Einrückungen statt Klammern.

              Füge folgenden Inhalt ein (mit Rechtsklick → Einfügen):

              services:
              # "services" ist der Hauptblock — hier werden alle Container definiert,
              # die zusammen gestartet werden sollen.
              # (Hinweis: "version:" wird seit Docker Compose v2 nicht mehr benötigt.)
              
                # =====================================================
                # OLLAMA — Das KI-Gehirn: führt das LLM lokal aus
                # =====================================================
                ollama:
                  image: ollama/ollama
                  # Welches Docker-Image benutzt wird. Docker lädt es automatisch
                  # von Docker Hub herunter (wie ein App Store für Container).
                  container_name: ollama
                  # Ein fester Name für den Container, damit wir ihn leicht
                  # finden und ansprechen können (z.B. in anderen Containern).
                  ports:
                    - "11434:11434"
                  # Port-Weiterleitung: Der Container lauscht intern auf Port 11434.
                  # Wir leiten ihn auf den gleichen Port deines Laptops weiter.
                  # Format: "Laptop-Port:Container-Port"
                  # Du könntest also auch "9999:11434" schreiben — dann wäre
                  # Ollama auf deinem Laptop unter Port 9999 erreichbar.
                  volumes:
                    - ollama_data:/root/.ollama
                  # Ein Volume ist wie ein USB-Stick für den Container:
                  # Daten bleiben erhalten, auch wenn der Container neu gestartet wird.
                  # Hier werden die heruntergeladenen KI-Modelle gespeichert.
                  # Ohne Volume wären die Modelle nach jedem Neustart weg!
                  restart: unless-stopped
                  # Startet den Container automatisch neu, falls er abstürzt —
                  # außer du stoppst ihn bewusst mit "docker compose down".
              
                # =====================================================
                # OPEN WEBUI — Die Chat-Oberfläche (sieht aus wie ChatGPT)
                # =====================================================
                open-webui:
                  image: ghcr.io/open-webui/open-webui:main
                  # Dieses Image kommt von GitHub Container Registry (ghcr.io)
                  # statt Docker Hub — einfach ein anderer "App Store".
                  # ":main" bedeutet: die neueste Version vom Hauptzweig.
                  container_name: open-webui
                  ports:
                    - "3000:8080"
                  # Der Container läuft intern auf Port 8080, aber wir leiten
                  # auf Port 3000 weiter. Im Browser also: localhost:3000
                  environment:
                    - OLLAMA_BASE_URL=http:OPENAI_API_BASE_URL=https://ollama:11434
                  # Eine Umgebungsvariable — wie eine Einstellung für den Container.
                  # Hier sagen wir Open WebUI, wo es Ollama findet.
                  # "ollama" funktioniert als Hostname, weil Docker Compose
                  # alle Services automatisch in ein gemeinsames Netzwerk steckt.openai.inference.de-txl.ionos.com/v1
                    # Die ContainerURL könnender sichIONOS gegenseitigAI überModel ihreHub Service-Namen
                  # ansprechen — als wären es Computernamen im selben Netzwerk.
                  depends_on:
                    - ollama
                  # Startreihenfolge:API. Open WebUI erstspricht
                    starten,# nachdemdas OpenAI-kompatible Protokoll — deshalb können wir die
                    # IONOS-API direkt als "OpenAI-Endpunkt" eintragen.
                    - OPENAI_API_KEY=eyJ0eXAiOiJKV1QiLCJraWQiOiJiYTEzNzY2Mi00NmRkLTQzMTMtYjAzYy0yYTNmNDMyY2FlZmIiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpb25vc2Nsb3VkIiwiaWF0IjoxNzc2Njg2NTEzLCJjbGllbnQiOiJVU0VSIiwiaWRlbnRpdHkiOnsicHJpdmlsZWdlcyI6WyJEQVRBX0NFTlRFUl9DUkVBVEUiLCJTTkFQU0hPVF9DUkVBVEUiLCJJUF9CTE9DS19SRVNFUlZFIiwiTUFOQUdFX0RBVEFQTEFURk9STSIsIkFDQ0VTU19BQ1RJVklUWV9MT0ciLCJQQ0NfQ1JFQVRFIiwiQUNDRVNTX1MzX09CSkVDVF9TVE9SQUdFIiwiQkFDS1VQX1VOSVRfQ1JFQVRFIiwiQ1JFQVRFX0lOVEVSTkVUX0FDQ0VTUyIsIks4U19DTFVTVEVSX0NSRUFURSIsIkZMT1dfTE9HX0NSRUFURSIsIkFDQ0VTU19BTkRfTUFOQUdFX01PTklUT1JJTkciLCJBQ0NFU1NfQU5EX01BTkFHRV9DRVJUSUZJQ0FURVMiLCJBQ0NFU1NfQU5EX01BTkFHRV9MT0dHSU5HIiwiTUFOQUdFX0RCQUFTIiwiQUNDRVNTX0FORF9NQU5BR0VfRE5TIiwiTUFOQUdFX1JFR0lTVFJZIiwiQUNDRVNTX0FORF9NQU5BR0VfQ0ROIiwiQUNDRVNTX0FORF9NQU5BR0VfVlBOIiwiQUNDRVNTX0FORF9NQU5BR0VfQVBJX0dBVEVXQVkiLCJBQ0NFU1NfQU5EX01BTkFHRV9OR1MiLCJBQ0NFU1NfQU5EX01BTkFHRV9LQUFTIiwiQUNDRVNTX0FORF9NQU5BR0VfTkVUV09SS19GSUxFX1NUT1JBR0UiLCJBQ0NFU1NfQU5EX01BTkFHRV9BSV9NT0RFTF9IVUIiLCJDUkVBVEVfTkVUV09SS19TRUNVUklUWV9HUk9VUFMiLCJBQ0NFU1NfQU5EX01BTkFHRV9JQU1fUkVTT1VSQ0VTIl0sInV1aWQiOiJmNjYwMDU5Ni04MmQxLTQ1ZGUtOTY1Yi0yZDUwZmRmZGNkNWEiLCJyZXNlbGxlcklkIjoxLCJyZWdEb21haW4iOiJpb25vcy5kZSIsInJvbGUiOiJvd25lciIsImNvbnRyYWN0TnVtYmVyIjozNjU3ODA2OSwiaXNQYXJlbnQiOmZhbHNlfSwiZXhwIjoxNzc3MjkxMzEzfQ.KemmxzRAAFHVV5PMwWrkLkBwGTJ15ALFoV9pmcwjOKfG7AzggiGVh2HY5wyL-_uVmwWxXi4ZP9_O7VyWmOtv2UIeWAQzmxHjOGxqR0rISUxYFCkVTax5qtVEmFEJgOYeDVO4rmwg3TaKGCKkYsY-NCiIBXhrQpUEyK0AUOQiqeiKPWxX3JV-ry5qw8P_Qoz5fPvxEPg8sbjFecImEit_L19cSKctCvuEYaO7mdGjRW9QcpTUVUccVwzrFumhVKAuo7vQZJGUtKYJ1nh9Pl86gAjrornutFZTzsch-utu4zgxcufYm6guMJpCna9-To64lqeEK9-6sayZGj74jAo1QQ
                    # Der API-Schlüssel für die IONOS Cloud. Das ist ein
                    # sogenanntes Bearer-Token (JWT), das dich gegenüber
                    # der Ollama-ContainerIONOS-API gestartetauthentifiziert. wurde.Ohne diesen Schlüssel
                    # lehnt die API alle Anfragen ab.
                  volumes:
                    - webui_data:/app/backend/data
                  restart: unless-stopped
                  # Startet den Container automatisch neu, falls er abstürzt —
                  # außer du stoppst ihn bewusst mit "docker compose down".
              
                # =====================================================
                # N8N — Automationsplattform: Workflows per Drag & Drop
                # =====================================================
                n8n:
                  image: docker.n8n.io/n8nio/n8n
                  # Das offizielle n8n-Image aus der eigenen n8n-Registry.
                  # n8n hat seine Images von Docker Hub auf eine eigene
                  # Registry (docker.n8n.io) umgezogen — das ist die
                  # aktuelle und empfohlene Quelle.
                  container_name: n8n
                  ports:
                    - "5678:5678"
                  # n8n läuft auf Port 5678 — das ist der Standard-Port.
                  volumes:
                    - n8n_data:/home/node/.n8n
                  # Hier speichert n8n deine erstellten Workflows,
                  # Zugangsdaten (Credentials) und Ausführungsprotokolle.
                  environment:
                    - GENERIC_TIMEZONE=Europe/Berlin
                    # Setzt die Zeitzone. Wichtig für zeitgesteuerte
                    # Workflows (z.B. "Jeden Morgen um 9 Uhr ausführen"),
                    # damit die richtige Uhrzeit verwendet wird.
                    - N8N_SECURE_COOKIE=false
                    # Deaktiviert HTTPS-Pflicht für Cookies. Nötig, weil wir
                    # lokal über http:// (nicht https://) arbeiten.
                    # In einer Produktivumgebung sollte das auf true stehen
                    # und HTTPS konfiguriert sein.
                    - N8N_RUNNERS_ENABLED=true
                    # Aktiviert den neuen Task-Runner von n8n. Dieser führt
                    # JavaScript/Python-Code in Nodes sicher in einem
                    # separaten Prozess aus — sicherer und stabiler als
                    # die alte Methode.
                    - WEBHOOK_URL=http://ip-des-containers:5678/
                  restart: unless-stopped
              
              # =====================================================
              # VOLUMES — Persistente Speicherbereiche
              # =====================================================
              volumes:
                ollama_data:
                webui_data:
                n8n_data:
              # Hier werden die Volumes "registriert". Docker erstellt dafür
              # automatisch Speicherbereiche auf deiner Festplatte.
              # Solange du diese Volumes nicht löschst, bleiben alle deine
              # Modelle, Chat-Verläufe und Workflows erhalten — auch wenn
              # du die Container stoppst und neu startest.
              

              Speichern mit Ctrl + O, Enter, dann schließen mit Ctrl + X.

              Was ist hier anders als bei einer lokalen KI? Statt ein KI-Modell auf deinem Rechner laufen zu lassen (was viel RAM und eine starke GPU braucht), nutzen wir die IONOS AI Model Hub API. Das ist ein Cloud-Dienst, der leistungsstarke KI-Modelle bereitstellt und über eine standardisierte Schnittstelle (OpenAI-kompatibel) erreichbar ist. Dein Laptop schickt die Fragen über das Internet an IONOS, und IONOS schickt die Antworten zurück. Der Vorteil: Du kannst ein viel größeres und schlaueres Modell nutzen (Mistral Small mit 24 Milliarden Parametern), als dein Laptop jemals lokal berechnen könnte.

              Schritt 3: Alles starten

              docker compose up -d
              
              • docker compose up — liest die docker-compose.yml im aktuellen Ordner, lädt alle nötigen Images herunter und startet die Container.
              • -d — steht für "detached" (losgelöst). Die Container laufen im Hintergrund, sodass du das Terminal weiter nutzen kannst. Ohne -d würden die Logs direkt im Terminal angezeigt und du könntest nichts anderes mehr tippen.

              Docker lädt jetzt die Container herunter. Das dauert beim ersten Mal einige Minuten — hol dir einen Kaffee ☕

              Schritt 4: Prüfen ob alles läuft

              docker ps
              
              • docker ps — zeigt alle aktuell laufenden Container an. ps steht für "process status". Du siehst eine Tabelle mit Container-Namen, Status, Ports und Laufzeit.

              Du solltest dreizwei Container sehen: ollama, open-webui und n8n.


              Teil 3 — DeinVerbindung ersteszur LLMKI ladentesten und chatten (10 Min.)

              Schritt 1: EinAPI-Verbindung KI-Modelltesten

              herunterladen

              Bevor wir die Chat-Oberfläche öffnen, prüfen wir kurz, ob die Verbindung zur IONOS-API funktioniert:

              dockercurl exec-s ollamahttps://openai.inference.de-txl.ionos.com/v1/models ollama\
                pull-H phi3:mini"Authorization: Bearer eyJ0eXAiOiJKV1QiLCJraWQiOiJiYTEzNzY2Mi00NmRkLTQzMTMtYjAzYy0yYTNmNDMyY2FlZmIiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpb25vc2Nsb3VkIiwiaWF0IjoxNzc2Njg2NTEzLCJjbGllbnQiOiJVU0VSIiwiaWRlbnRpdHkiOnsicHJpdmlsZWdlcyI6WyJEQVRBX0NFTlRFUl9DUkVBVEUiLCJTTkFQU0hPVF9DUkVBVEUiLCJJUF9CTE9DS19SRVNFUlZFIiwiTUFOQUdFX0RBVEFQTEFURk9STSIsIkFDQ0VTU19BQ1RJVklUWV9MT0ciLCJQQ0NfQ1JFQVRFIiwiQUNDRVNTX1MzX09CSkVDVF9TVE9SQUdFIiwiQkFDS1VQX1VOSVRfQ1JFQVRFIiwiQ1JFQVRFX0lOVEVSTkVUX0FDQ0VTUyIsIks4U19DTFVTVEVSX0NSRUFURSIsIkZMT1dfTE9HX0NSRUFURSIsIkFDQ0VTU19BTkRfTUFOQUdFX01PTklUT1JJTkciLCJBQ0NFU1NfQU5EX01BTkFHRV9DRVJUSUZJQ0FURVMiLCJBQ0NFU1NfQU5EX01BTkFHRV9MT0dHSU5HIiwiTUFOQUdFX0RCQUFTIiwiQUNDRVNTX0FORF9NQU5BR0VfRE5TIiwiTUFOQUdFX1JFR0lTVFJZIiwiQUNDRVNTX0FORF9NQU5BR0VfQ0ROIiwiQUNDRVNTX0FORF9NQU5BR0VfVlBOIiwiQUNDRVNTX0FORF9NQU5BR0VfQVBJX0dBVEVXQVkiLCJBQ0NFU1NfQU5EX01BTkFHRV9OR1MiLCJBQ0NFU1NfQU5EX01BTkFHRV9LQUFTIiwiQUNDRVNTX0FORF9NQU5BR0VfTkVUV09SS19GSUxFX1NUT1JBR0UiLCJBQ0NFU1NfQU5EX01BTkFHRV9BSV9NT0RFTF9IVUIiLCJDUkVBVEVfTkVUV09SS19TRUNVUklUWV9HUk9VUFMiLCJBQ0NFU1NfQU5EX01BTkFHRV9JQU1fUkVTT1VSQ0VTIl0sInV1aWQiOiJmNjYwMDU5Ni04MmQxLTQ1ZGUtOTY1Yi0yZDUwZmRmZGNkNWEiLCJyZXNlbGxlcklkIjoxLCJyZWdEb21haW4iOiJpb25vcy5kZSIsInJvbGUiOiJvd25lciIsImNvbnRyYWN0TnVtYmVyIjozNjU3ODA2OSwiaXNQYXJlbnQiOmZhbHNlfSwiZXhwIjoxNzc3MjkxMzEzfQ.KemmxzRAAFHVV5PMwWrkLkBwGTJ15ALFoV9pmcwjOKfG7AzggiGVh2HY5wyL-_uVmwWxXi4ZP9_O7VyWmOtv2UIeWAQzmxHjOGxqR0rISUxYFCkVTax5qtVEmFEJgOYeDVO4rmwg3TaKGCKkYsY-NCiIBXhrQpUEyK0AUOQiqeiKPWxX3JV-ry5qw8P_Qoz5fPvxEPg8sbjFecImEit_L19cSKctCvuEYaO7mdGjRW9QcpTUVUccVwzrFumhVKAuo7vQZJGUtKYJ1nh9Pl86gAjrornutFZTzsch-utu4zgxcufYm6guMJpCna9-To64lqeEK9-6sayZGj74jAo1QQ" | head -20
              
              • dockercurl exec-sführt einen Befehl innerhalb eines laufenden Containers aus, ohne ihn neu zu starten. Stell dir vor, du rufst inruft die BoxURL hinein:leise "Hey,(ohne machFortschrittsbalken) mal das!"auf.
              • ollama-H "Authorization: Bearer ..." (erster) dersendet Nameden desAPI-Schlüssel Containers,als inHTTP-Header demmit. derSo Befehlweiß ausgeführtIONOS, werdendass soll.du berechtigt bist.
              • ollama| pullhead phi3:mini (zweiter Teil) — der Befehl, der im Container läuft. ollama pull lädt ein KI-Modell herunter, ähnlich wie apt install Software installiert.
              phi3:mini-20daszeigt Modellnur "Phi-3"die vonersten Microsoft20 inZeilen der kleinenAntwort Variantean, (ca.damit 2die GB).Ausgabe Esübersichtlich ist schnell genug für ältere Laptops und trotzdem erstaunlich schlau.bleibt.

              Du solltest eine Liste der verfügbaren Modelle sehen. Wenn eine Fehlermeldung kommt, prüfe deine Internetverbindung.

              Hintergrund: Ein LLM (Large Language Model) ist das Herzstück hinter ChatGPT & Co. Es ist eine riesige Datei mit "gelerntem Wissen", dieversteht Text versteht und Texterzeugt erzeugt.Text. DuStatt lädstes dirlokal auf deinem Rechner laufen zu lassen, nutzen wir hier eineseinen direktCloud-Dienst von IONOS, der das Modell auf deinenleistungsstarken LaptopServern in keinDeutschland Internetbetreibt. nötig zum Chatten, keineDeine Daten verlassenbleiben deinendabei Rechner.in der EU.

              Schritt 2: Chat-Oberfläche öffnen

              Öffne im Browser: http://localhost:3000

              Was ist localhost? Das ist die Adresse deines eigenen Computers. localhost:3000 bedeutet: "Verbinde dich mit dem Dienst auf meinem eigenen Rechner, der auf Port 3000 lauscht." Dort wartet Open WebUI.

              1. Erstelle einen lokalen Account (bleibt alles nur auf deinem Rechner)
              2. Wähle oben das Modell phi3:minimistralai/Mistral-Small-24B-Instruct aus
              3. Stell eine Frage!

              💡 Probier mal diese Prompts:

              • Erkläre mir Docker in 3 Sätzen, als wäre ich 10 Jahre alt.
              • Was ist der Unterschied zwischen einer VM und einem Container?
              • Schreibe mir ein kurzes Python-Skript, das "Hallo Welt" ausgibt.

              🎉 Glückwunsch! Du hast gerade dein eigenes,eigenes privatesChat-System ChatGPTmit einem leistungsstarken KI-Modell aufgebaut.


              Teil 4 — Dein erster Automations-Workflow in n8n (20 Min.)

              Jetzt verbinden wir das LLM mit einer Automation. n8n ist eine visuelle Plattform, in der du per Drag & Drop "Nodes" (Bausteine) zu einem Workflow verbindest — wie eine Kette, durch die Daten fließen.

              Schritt 1: n8n öffnen

              Öffne im Browser: http://localhost:5678

              Beim ersten Mal: Erstelle einen lokalen Account (nur auf deinem Rechner).

              Die n8n-Oberfläche ist auf Englisch — n8n unterstützt offiziell nur Englisch. In dieser Anleitung verwenden wir daher durchgehend die englischen Bezeichnungen.

              Schritt 2: OllamaIONOS API als Credential einrichten

              Bevor wir einen Workflow bauen, sagen wir n8n einmal, wo unser Ollama-ServerKI-Modell läuft.erreichbar ist. Das muss nur einmal gemacht werden — danach können alle Workflows darauf zugreifen.

              Im Feld API Key trägst du den folgenden Token ein:
              eyJ0eXAiOiJKV1QiLCJraWQiOiJiYTEzNzY2Mi00NmRkLTQzMTMtYjAzYy0yYTNmNDMyY2FlZmIiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJpb25vc2Nsb3VkIiwiaWF0IjoxNzc2Njg2NTEzLCJjbGllbnQiOiJVU0VSIiwiaWRlbnRpdHkiOnsicHJpdmlsZWdlcyI6WyJEQVRBX0NFTlRFUl9DUkVBVEUiLCJTTkFQU0hPVF9DUkVBVEUiLCJJUF9CTE9DS19SRVNFUlZFIiwiTUFOQUdFX0RBVEFQTEFURk9STSIsIkFDQ0VTU19BQ1RJVklUWV9MT0ciLCJQQ0NfQ1JFQVRFIiwiQUNDRVNTX1MzX09CSkVDVF9TVE9SQUdFIiwiQkFDS1VQX1VOSVRfQ1JFQVRFIiwiQ1JFQVRFX0lOVEVSTkVUX0FDQ0VTUyIsIks4U19DTFVTVEVSX0NSRUFURSIsIkZMT1dfTE9HX0NSRUFURSIsIkFDQ0VTU19BTkRfTUFOQUdFX01PTklUT1JJTkciLCJBQ0NFU1NfQU5EX01BTkFHRV9DRVJUSUZJQ0FURVMiLCJBQ0NFU1NfQU5EX01BTkFHRV9MT0dHSU5HIiwiTUFOQUdFX0RCQUFTIiwiQUNDRVNTX0FORF9NQU5BR0VfRE5TIiwiTUFOQUdFX1JFR0lTVFJZIiwiQUNDRVNTX0FORF9NQU5BR0VfQ0ROIiwiQUNDRVNTX0FORF9NQU5BR0VfVlBOIiwiQUNDRVNTX0FORF9NQU5BR0VfQVBJX0dBVEVXQVkiLCJBQ0NFU1NfQU5EX01BTkFHRV9OR1MiLCJBQ0NFU1NfQU5EX01BTkFHRV9LQUFTIiwiQUNDRVNTX0FORF9NQU5BR0VfTkVUV09SS19GSUxFX1NUT1JBR0UiLCJBQ0NFU1NfQU5EX01BTkFHRV9BSV9NT0RFTF9IVUIiLCJDUkVBVEVfTkVUV09SS19TRUNVUklUWV9HUk9VUFMiLCJBQ0NFU1NfQU5EX01BTkFHRV9JQU1fUkVTT1VSQ0VTIl0sInV1aWQiOiJmNjYwMDU5Ni04MmQxLTQ1ZGUtOTY1Yi0yZDUwZmRmZGNkNWEiLCJyZXNlbGxlcklkIjoxLCJyZWdEb21haW4iOiJpb25vcy5kZSIsInJvbGUiOiJvd25lciIsImNvbnRyYWN0TnVtYmVyIjozNjU3ODA2OSwiaXNQYXJlbnQiOmZhbHNlfSwiZXhwIjoxNzc3MjkxMzEzfQ.KemmxzRAAFHVV5PMwWrkLkBwGTJ15ALFoV9pmcwjOKfG7AzggiGVh2HY5wyL-_uVmwWxXi4ZP9_O7VyWmOtv2UIeWAQzmxHjOGxqR0rISUxYFCkVTax5qtVEmFEJgOYeDVO4rmwg3TaKGCKkYsY-NCiIBXhrQpUEyK0AUOQiqeiKPWxX3JV-ry5qw8P_Qoz5fPvxEPg8sbjFecImEit_L19cSKctCvuEYaO7mdGjRW9QcpTUVUccVwzrFumhVKAuo7vQZJGUtKYJ1nh9Pl86gAjrornutFZTzsch-utu4zgxcufYm6guMJpCna9-To64lqeEK9-6sayZGj74jAo1QQ
              
              1. Im Feld Base URL trägst du ein: http:https://ollama:11434openai.inference.de-txl.ionos.com/v1
              2. Klicke auf "Save"

              WasWarum sind"OpenAI" Credentials?als Credential? Die IONOS AI Model Hub API ist OpenAI-kompatibel. Das sindbedeutet, gespeichertesie Zugangsdaten,spricht mitdas denengleiche Protokoll wie die OpenAI-API. Deshalb können wir in n8n sicheinfach beidie externenOpenAI-Credential Dienstenverwenden anmeldet. Bei Ollama brauchen wir kein Passwort oder API-Key —und nur die Adresse,Base unterURL der Ollama erreichbar ist. Wir nutzen ollama statt localhost, weil sichauf die Docker-ContainerIONOS-Adresse überändern. ihren8n Service-Namenmerkt ansprechenkeinen (dasUnterschied Docker-Compose-Netzwerk machtes dasdenkt, möglich).es spricht mit OpenAI, aber die Anfragen gehen an IONOS.

              Schritt 3: Neuen Workflow erstellen

              Klicke oben rechts auf "Create new workflow".

              Schritt 4: Workflow zusammenbauen

              Wir bauen einen Chat-Workflow: Du schreibst eine Nachricht → das LLM antwortet dir — direkt in n8n als Chat-Oberfläche.

              Node 1: Chat Trigger

              1. Klicke auf das + in der Mitte
              2. Suche "Chat Trigger" → auswählen

              Die Standardeinstellungen kannst du so lassen. Der Chat Trigger öffnet ein Chat-Fenster direkt in n8n, über das du mit dem LLM sprechen kannst.

              Was ist ein Chat Trigger? Jeder Workflow braucht einen Auslöser — das Ereignis, das die Kette startet. Der "Chat Trigger" startet den Workflow jedes Mal, wenn du eine Nachricht im Chat-Fenster abschickst. Du bekommst eine richtige Chat-Oberfläche, ähnlich wie bei ChatGPT.

              Node 2: AI Agent

              1. Klicke auf das + rechts vom Chat Trigger
              2. Suche "AI Agent" → auswählen

              Die Standardeinstellungen passen für unseren Zweck. Optional kannst du im Feld System Message eine Rollenbeschreibung eintragen, z.B.:

              Du bist ein hilfreicher Assistent. Antworte immer auf Deutsch.
              

              Was ist ein AI Agent? Der AI Agent ist n8n's zentraler Baustein für KI-Workflows. Er nimmt die Nachricht vom Chat Trigger entgegen, leitet sie an das Sprachmodell weiter und gibt die Antwort zurück. Ein Agent kann auch "nachdenken" und Werkzeuge (Tools) nutzen — z.B. im Internet suchen oder Berechnungen durchführen. Für den Anfang nutzen wir ihn ohne Tools als reinen Chat-Assistenten.

              Node 3: OllamaOpenAI Chat Model (Sub-Node)

              Jetzt verbinden wir den AI Agent mit unseremdem lokalen LLM:IONOS-Modell:

              1. Klicke auf den AI Agent Node, um ihn zu öffnen
              2. Du siehst unten am Node einen Connector-Punkt mit der Beschriftung "Model" — klicke auf das + daneben
              3. Suche "OllamaOpenAI Chat Model" → auswählen
              4. Im Feld Credential to connect with wähle die Ollama-OpenAI-Credential aus, die du in Schritt 2 erstellt hast
              5. Im Feld Model wähle nicht aus der Dropdown-Liste, sondern trage manuell ein: phi3:minimistralai/Mistral-Small-24B-Instruct

              Was ist ein Sub-Node? n8n unterscheidet zwischen normalen Nodes (die in der Kette liegen) und Sub-Nodes (die an einen anderen Node "angedockt" werden). Der OllamaOpenAI Chat Model ist ein Sub-Node — er wird nicht in den Datenfluss eingereiht, sondern an den AI Agent angehängt, um ihm zu sagen: "Nutze dieses Sprachmodell." Das ist wie ein Werkzeug, das du dem Agenten in die Hand gibst.

              Schritt 5: Workflow testen!

              1. Klicke oben auf "Chat" (das Sprechblasen-Symbol) — es öffnet sich ein Chat-Fenster
              2. Schreibe eine Nachricht, z.B.: Erkläre mir Docker in 3 Sätzen, als wäre ich 10 Jahre alt.
              3. Warte kurz — deine Nachricht wird an die IONOS Cloud gesendet und das LLMModell denkt lokal auf deinem Rechner nachantwortet
              4. Die Antwort erscheint direkt im Chat!

              💡 Probier diese Fragen im Chat:

              • Was ist der Unterschied zwischen einer VM und einem Container?
              • Schreibe mir ein kurzes Python-Skript, das "Hallo Welt" ausgibt.
              • Was sind die wichtigsten Vorteile von Workflow-Automation?

              🎉 Du hast gerade deine erste KI-Automation gebaut — mit einer richtigen Chat-Oberfläche!


              Teil 5 — Bonus-Challenges (wenn noch Zeit ist)

              Challenge 1: Anderes Modell testen

              docker

              Die execIONOS ollamaAI ollamaModel pullHub phi4-minibietet

              mehrere Modelle an. Probiere ein anderes aus, indem du in Open WebUI oben das Modell wechselst. Verfügbare Modelle sind z.B.:
              • phi4-minimeta-llama/Llama-3.3-70B-InstructMicrosoftsMetas "Phi-4großes Mini"70B-Modell, mitsehr 3,8hohe MilliardenAntwortqualität
              Parametern.mistralai/Mistral-Nemo-Instruct-2407 Gleiche Größeein wiekleineres Phi-3,12B-Modell abervon deutlichMistral, bessereschnellere Antwortqualität: Der direkte Nachfolger mit verbessertem Reasoning und Sprachverständnis.Antworten

              Vergleiche die Antworten vonverschiedener Phi-3 und Phi-4Modelle auf die gleiche Frage in Open WebUI. Wechsle dazu oben in der Chat-Oberfläche einfach das Modell.Frage!

              Challenge 2: n8n-Workflow erweitern

              • Ändere das Modell im OllamaOpenAI Chat Model Sub-Node auf Phi-4 Minimeta-llama/Llama-3.3-70B-Instruct
              • Teste die gleichen Fragen erneut und vergleiche die Antworten mit Phi-3Mistral Small
              • Probiere verschiedene System Messages aus, z.B.:
              Du bist ein Experte für die Pharmaindustrie. Erkläre alles einfach und verständlich.
              

              Challenge 3: Eigenes System-Prompt

              Ändere die System Message im AI Agent Node zu:

              Du bist ein Experte für die Pharmaindustrie. Erkläre das folgende Thema einfach und verständlich: Was ist ein ERP-System?
              

              Was ist ein System-Prompt? Das ist die "Rollenbeschreibung" für das LLM. Du sagst ihm damit, wer es sein soll und wie es antworten soll — bevor es die eigentliche Frage bekommt. In Unternehmen werden System-Prompts genutzt, um KI-Assistenten auf bestimmte Aufgaben zu spezialisieren.


              🧠 Was du gelernt hast

              Thema Was du gemacht hast
              Linux-Basics
              System aktualisiert, Pakete installiert, Zeitzone gesetzt Docker Docker installiert, Container gestartet, Docker Compose genutzt, Services verwaltet KI-API Über die IONOS AI Model Hub API ein LLM per OpenAI-kompatibler Schnittstelle angebunden LLM Ein KI-Modell lokal(Mistral geladenSmall 24B) über die Cloud genutzt und im Chat genutztgetestet Automation Einen n8n-Workflow gebaut, der ein LLM als Chat-Assistenten nutzt AI Agent Einen AI Agent mit OllamaOpenAI Chat Model und Chat Trigger konfiguriert Linux-Basics Terminal-Befehle, Paketmanager, Dateien erstellen, Benutzerrechte

              🔧 Nützliche Befehle zum Nachschlagen

              Befehl Was er tut
              docker ps Zeigt laufende Container (ps = process status)
              docker ps -a Zeigt alle Container, auch gestoppte
              docker compose up -d Startet alle Services im Hintergrund
              docker compose down Stoppt alle Services und entfernt die Container
              docker compose logs -f Zeigt Live-Logs aller Container (-f = follow, folgt neuen Einträgen)
              docker compose logs -f ollamaopen-webui Zeigt Live-Logs nur von Ollama
              Open docker exec ollama ollama list Zeigt alle installierten KI-Modelle docker exec ollama ollama pull <modell> Lädt ein neues Modell herunter docker exec ollama ollama rm <modell> Löscht ein Modell (spart Speicherplatz)WebUI docker stats Zeigt CPU- und RAM-Verbrauch aller Container live

              ❓ Troubleshooting

              Open WebUI zeigt kein Modell an?WartePrüfe 1–2ob Minuten,die OllamaUmgebungsvariablen brauchtOPENAI_API_BASE_URL Zeitund zumOPENAI_API_KEY Starten.in Dannder Seitedocker-compose.yml neukorrekt laden.eingetragen sind. → Starte den Container neu: docker compose restart open-webui

              Open WebUI zeigt einen Fehler bei der Modellauswahl? → Der API-Token könnte abgelaufen sein. Frage deinen Kursleiter nach einem neuen Token.

              n8n Chat zeigt keine Antwort / AI Agent schlägt fehl? → Prüfe ob die Ollama-OpenAI-Credential korrekt eingerichtet ist: Base URL muss http:https://ollama:11434openai.inference.de-txl.ionos.com/v1 sein (nicht localhost — die Container sprechen sich über ihre Namen an).sein. → Prüfe ob das Modell phi3:minimistralai/Mistral-Small-24B-Instruct im OllamaOpenAI Chat Model Node korrekt eingetragen ist. → Prüfe ob dasder ModellAPI-Token heruntergeladennoch wurde:gültig dockerist.

              exec

              "Unauthorized" ollamaoder ollama"401" listFehler? → Der API-Token ist abgelaufen oder ungültig. Frage nach einem neuen Token.

              Docker-Befehle brauchen sudo? → Du hast dich nach usermod nicht neu angemeldet. Einmal ausloggen und wieder einloggen.

              "Permission denied" bei docker compose? → Prüfe mit groups ob "docker" in deiner Gruppenliste auftaucht. Falls nicht: Schritt 4 aus Teil 1 wiederholen und neu anmelden.

              Laptop wird langsam?Modelle brauchen RAM. Phi-3 Mini braucht ca. 3–4 GB. Schließe andere Programme. → Mit docker stats kannst du sehen, welcher Container wie viel Ressourcen verbraucht. → Da das KI-Modell in der Cloud läuft, braucht dein Laptop deutlich weniger RAM als bei einer lokalen Installation.

              Container startet nicht?docker compose logs -f <containername> zeigt dir die Fehlermeldung des Containers.