# n8n - Optimierung und Konfiguration

n8n - Optimierung und Konfiguration – Self-Hosting Anleitung auf deinem NexoraHost Server.

In dieser Anleitung werden wir dir Schritt für Schritt helfen, die Performance deines n8n-Servers zu verbessern und die Serverlast zu senken.

## 1. Empfohlene Systemressourcen

Für eine optimale Performance von n8n empfiehlt es sich folgende Ressourcen zu verwenden:

    - **CPU:** Mindestens 4 Core, besser je nach Anzahl der Workflows und Knoten.
- **RAM:** 8-16 GB für kleinere Installationen, 32 GB oder mehr für große Workflows und viele Node-Verbindungen.
- **Speicher:** NVMe SSD empfohlen, um Lags zu vermeiden.

## 2. Konfiguration der n8n Umgebung

In diesem Abschnitt erfährst du, wie du n8n konfigurierst und optimierst.

    - **Konfiguriere den Node.js-Server:**
<code>
    # Setze die Maximalmenge an Arbeitsspeicher (RAM) für den n8n Server
    export NODE_OPTIONS="--max-old-space-size=4096"

    # Starte den n8n Server mit den Optimierungen
    yarn start --max-old-space-size=4096
    </code>

    - **Konfiguriere die .env-Datei:**

        - Öffne die Datei `.n8n/.env` in einem Texteditor.
- Füge Konfigurationen hinzu, um die Performance zu verbessern. Zum Beispiel:
<code>
        # Optimiere den Node.js-Heap
        NODE_OPTIONS="--max-old-space-size=4096"

        # Deaktiviere unnötige Warnungen
        N8N_LOGGING_LEVEL="warn"
        </code>
    

    - **Optimierung der Benutzeroberfläche:**

        - Konfiguriere die Benutzeroberfläche, um unnötige Benutzeroberflächenkomponenten zu deaktivieren.
<code>
        # Deaktiviere den Sidebar-Befehlswizard
        N8N_HIDE_SIDEBAR_COMMANDS=true

        # Deaktiviere das Feature, das Benutzer zur Authentifizierung auffordert (falls nicht benötigt)
        N8N_DISABLE_AUTHENTICATION_WARNING=true
        </code>
    

    - **Optimierung der Workflows:**

        - Minimiere den Workflow-Planer, um unnötige Workflows zu löschen und die Performance zu verbessern.
<code>
        # Minimiere den Workflow-Planer
        n8n planer minimize
        </code>
    

## 3. Optimierung der Netzwerkkomponenten (Optional)

Für eine bessere Performance kannst du Netzwerkkomponenten wie Nginx konfigurieren:

    - **Installiere und Konfiguriere Nginx:**
<code>
    # Installiere Nginx (Beispiel für Debian/Ubuntu)
    sudo apt-get update
    sudo apt-get install nginx

    # Konfiguriere Nginx, um den n8n Server zu forwarden
    sudo nano /etc/nginx/sites-available/n8n
    </code>

    - **Konfigurationsdatei anpassen:**
<code>
    server {
        listen 80;
        server_name your_domain_or_ip;

        location / {
            proxy_pass http://localhost:5678;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    </code>

    - **Teste und aktiviere die Konfiguration:**
<code>
    sudo nginx -t
    sudo systemctl restart nginx
    </code>

## 4. Performance-Optimierung

In diesem Abschnitt findest du Anleitungen zur Verbesserung der Performance:

    - **Bearbeite die Performance-Konfiguration in .n8n/.n8n.config.js:**
<code>
    const config = {
        // Setze den Loglevel
        logging: "warn",

        // Konfiguriere den Workflow-Planer
        planerMinimize: true,

        // Deaktiviere unnötige Features
        disableAuthenticationWarning: true,
    };
    </code>

## 5. Debugging und Problemlösung

In diesem Abschnitt findest du Anleitungen zur Problembehandlung:

    - **Auftragsanzeige (Jobs):**
<code>
    Navigiere zu "Jobs" in der linken Navigation, um Aufträge anzuzeigen und zu verwalten.
    </code>

    - **Logfiles überprüfen:**

        - Navigiere zur Logdatei im .n8n-Verzeichnis.
- Lese die Logs, um Fehler zu identifizieren und zu beheben.

## 6. Fazit

Du hast erfolgreich n8n optimiert und konfiguriert. Diese Anleitung ist eine gute Referenz für weitere Konfigurationen und Optimierungen.
