Ein selbst ge­hos­te­tes n8n bietet Ihnen maximale Kontrolle über Ihre Au­to­ma­ti­sie­run­gen und Daten. In Kom­bi­na­ti­on mit CapRover lässt sich die In­stal­la­ti­on stark ver­ein­fa­chen, da viele In­fra­struk­tur-Aufgaben au­to­ma­tisch über­nom­men werden. In dieser Anleitung erfahren Sie Schritt für Schritt, wie Sie n8n auf einem Server mit CapRover be­reit­stel­len.

Schritt 1: Vor­aus­set­zun­gen prüfen und passenden Server wählen

Bevor Sie mit der In­stal­la­ti­on beginnen, sollten Sie si­cher­stel­len, dass die tech­ni­schen Vor­aus­set­zun­gen erfüllt sind. Für CapRover benötigen Sie einen Linux-Server, bes­ten­falls mit Ubuntu 22.04 oder neuer, eine Domain (für HTTPS) sowie grund­le­gen­de SSH-Zu­griffs­rech­te. Außerdem sollte Docker in­stal­liert werden, da CapRover darauf basiert.

Neben den tech­ni­schen Vor­aus­set­zun­gen ist die Wahl des richtigen Servers ent­schei­dend. Je nach Ein­satz­sze­na­rio un­ter­schei­den sich die An­for­de­run­gen deutlich.

Pri­vat­an­wen­den­de und kleine Projekte

Wenn Sie n8n für per­sön­li­che Au­to­ma­ti­sie­run­gen nutzen möchten, also bei­spiels­wei­se zur Ver­bin­dung von APIs, kleinen Workflows oder Smart-Home-In­te­gra­tio­nen, sind die An­for­de­run­gen ver­gleichs­wei­se gering. Im Regelfall laufen nur wenige Workflows parallel und die Da­ten­men­ge ist über­schau­bar. Wichtig ist hier vor allem ein günstiger Einstieg und einfache Ska­lier­bar­keit. Auch Tests und Ex­pe­ri­men­te lassen sich in dieser Umgebung pro­blem­los durch­füh­ren. Ein kleiner VPS reicht dafür in der Regel voll­kom­men aus.

Startups und Side-Projekte

Startups nutzen n8n häufig für MVPs, interne Tools oder erste Au­to­ma­ti­sie­run­gen im Marketing und Vertrieb. Hier steigen die An­for­de­run­gen bereits leicht an, da mehrere Workflows parallel laufen und externe Dienste an­ge­bun­den werden. Auch Webhooks und API-In­te­gra­tio­nen spielen eine größere Rolle. Sta­bi­li­tät und Per­for­mance werden wichtiger, ins­be­son­de­re bei wach­sen­der Nut­zer­zahl. Ein mit­tel­gro­ßer VPS bietet in diesem Falle eine gute Balance zwischen Kosten und Leistung.

Kleine und mittlere Un­ter­neh­men (KMU)

KMUs setzen n8n oft produktiv ein und nutzen das Low-Code-Tool für CRM-Au­to­ma­ti­sie­rung, Mo­ni­to­ring, Da­ten­in­te­gra­ti­on oder Support-Prozesse. Die Workflows sind komplexer und laufen dauerhaft im Hin­ter­grund. Zudem steigen Si­cher­heits­an­for­de­run­gen und Ver­füg­bar­keits­an­sprü­che. Backups und Ska­lie­rung sollten hier von Anfang an mit­ge­dacht werden. Ent­spre­chend ist ein leis­tungs­stär­ke­rer Server emp­feh­lens­wert.

En­ter­pri­se und da­ten­in­ten­si­ve An­wen­dun­gen

In größeren Un­ter­neh­men oder bei da­ten­in­ten­si­ven An­wen­dun­gen, also bei KI-Workflows, großen API-Pipelines oder Event-Streaming, steigen die An­for­de­run­gen deutlich. Hier laufen viele parallele Prozesse, teilweise mit hoher Last und großen Da­ten­men­gen. Auch Hoch­ver­füg­bar­keit, Mo­ni­to­ring und Ska­lie­rung sind es­sen­zi­ell. In solchen Szenarien wird häufig mit mehreren Instanzen oder zu­sätz­li­chen Services ge­ar­bei­tet. Ein leis­tungs­star­ker VPS oder eine ska­lier­ba­re Cloud-In­fra­struk­tur ist hier Pflicht.

Ser­ver­emp­feh­lun­gen im Überblick

An­wen­dungs­ge­biet Ziel­grup­pe Emp­foh­le­ner VPS Typische Nutzung Ska­lier­bar­keit
Pri­vat­an­wen­den­de/Tests Ein­zel­per­so­nen 2 bis 4 vCores, 4 GB RAM, 80 bis 120 GB SSD Kleine Workflows, Ex­pe­ri­men­te Niedrig
Startups/Side-Projekte kleine Teams 4 vCores, 4–8 GB RAM, 120 GB NVMe APIs, Webhooks, erste Au­to­ma­tio­nen Mittel
KMU Un­ter­neh­men 6 vCores, 8 GB RAM, 240 GB NVMe Pro­duk­ti­ve Workflows, In­te­gra­tio­nen Hoch
En­ter­pri­se/High Load große Or­ga­ni­sa­tio­nen 8+ vCores, 16+ GB RAM, 400+ GB NVMe Da­ten­pipe­lines, KI, Ska­lie­rung Sehr hoch
Self-hosted n8n
Mehr Pro­duk­ti­vi­tät dank n8n Au­to­ma­ti­sie­rung – Ihr bester VPS
  • Maximale Effizienz ohne Mehr­auf­wand
  • Self-hosted Au­to­ma­ti­on: Keine Task-Limits, volle Kos­ten­kon­trol­le
  • Über 500 In­te­gra­tio­nen & Tools dank Open Source

Schritt 2: CapRover auf dem Server in­stal­lie­ren

Verbinden Sie sich zunächst per SSH mit Ihrem Server:

ssh root@IHRE-SERVER-IP
bash

In­stal­lie­ren Sie an­schlie­ßend CapRover mit folgendem Befehl:

docker run -d \
    -e ACCEPTED_TERMS=true \
    -p 80:80 -p 443:443 -p 3000:3000 \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /captain:/captain \
    caprover/caprover
bash
Bild: CapRover installieren
Die In­stal­la­ti­on von CapRover erfolgt direkt im Terminal. Bei Erfolg wird Ihnen obige Meldung angezeigt.

Nach der In­stal­la­ti­on erreichen Sie das CapRover-Dashboard unter:

http://IHRE-SERVER-IP:3000
bash
Tipp

Wenn Sie CapRover über die Server-IP aufrufen möchten, müssen Sie den Port 3000 in der Firewall Ihres Servers freigeben.

Schritt 3: Domain kon­fi­gu­rie­ren und SSL ak­ti­vie­ren

Melden Sie sich zunächst im CapRover-Dashboard an, das Sie in der Regel über http://captain.IHRE-DOMAIN oder direkt über die Server-IP mit ent­spre­chen­dem Port erreichen. Melden Sie sich beim ersten Login mit dem Stan­dard­pass­wort „captain42“ an.

Bild: CapRover: Login
Bei der erst­ma­li­gen Anmeldung nutzen Sie das CapRover-Stan­dard­pass­wort „captain42“, das Sie später in CapRover ändern können.

Im nächsten Schritt kon­fi­gu­rie­ren Sie die so­ge­nann­te Root Domain. Diese dient als Basis für alle An­wen­dun­gen, die Sie später über CapRover be­reit­stel­len. Tragen Sie im Bereich „CapRover Root Domain Con­fi­gu­ra­ti­ons“ eine Subdomain ein, zum Beispiel apps.ihredomain.de.

Damit CapRover Ihre An­wen­dun­gen au­to­ma­tisch unter eigenen Sub­do­mains be­reit­stel­len kann, müssen Sie zunächst Ihre Domain richtig kon­fi­gu­rie­ren. Dazu legen Sie im DNS einen so­ge­nann­ten Wildcard-A-Record an. Dieser sorgt dafür, dass alle Sub­do­mains einer be­stimm­ten Domain au­to­ma­tisch auf Ihren Server zeigen. Sie erstellen dafür im DNS einen Eintrag, bei dem *.apps.ihredomain.de auf die öf­fent­li­che IP-Adresse Ihres Servers verweist. Das Sternchen steht dabei als* Platz­hal­ter für beliebige Sub­do­mains*.

Sobald Ihre Domain korrekt mit dem Server verbunden ist, können Sie in CapRover ganz einfach die HTTPS-Ver­schlüs­se­lung ak­ti­vie­ren. Klicken Sie dazu im Dashboard auf „Enable HTTPS“ oder „Enable SSL“. CapRover verwendet im Hin­ter­grund au­to­ma­tisch Let’s Encrypt, um ein kos­ten­lo­ses SSL-Zer­ti­fi­kat zu erstellen. Dieser Vorgang läuft voll­stän­dig au­to­ma­tisch ab und erfordert keine zu­sätz­li­chen Ein­stel­lun­gen.

Schritt 4: Neue App für n8n erstellen

Öffnen Sie im CapRover-Dashboard den Bereich Apps und klicken Sie auf „Create New App“. Vergeben Sie einen ein­deu­ti­gen Namen für Ihre Anwendung, wie zum Beispiel „n8n“. Dieser Name wird später auch Teil der URL Ihrer App, daher sollte er möglichst kurz und eindeutig sein. Ak­ti­vie­ren Sie bei der Er­stel­lung außerdem unbedingt die Option „Has Per­sis­tent Data“. Diese Ein­stel­lung sorgt dafür, dass CapRover die App als per­sis­ten­te Anwendung behandelt. Nur so können Sie später dauerhaft Speicher kon­fi­gu­rie­ren, damit Ihre n8n-Daten nicht verloren gehen.

Bild: CapRover: n8n-App erstellen
Klicken Sie auf den Bereich „Apps“ und legen Sie hier eine neue App an; den Namen können Sie frei auswählen.

Nach dem Erstellen wird die App au­to­ma­tisch in Ihrer App-Übersicht angezeigt. Klicken Sie darauf, um die De­tail­an­sicht zu öffnen, und wechseln Sie an­schlie­ßend in den Tab „De­ploy­ment“. Von dort aus starten Sie im nächsten Schritt die Be­reit­stel­lung von n8n.

Schritt 5: n8n per Docker deployen

CapRover bietet Ihnen im Bereich „De­ploy­ment“ eine Reihe ver­schie­de­ner Mög­lich­kei­ten, An­wen­dun­gen be­reit­zu­stel­len. Für n8n ist die ein­fachs­te Variante die Nutzung eines fertigen Docker-Images (Methode 6).

Tragen Sie im Feld Image Name das of­fi­zi­el­le Image ein:

docker.n8n.io/n8nio/n8n
Bild: CapRover: n8n-App deployen
Als De­ploy­ment-Methode für Ihre n8n-App bietet sich Methode 6 – das De­ploy­ment über den Image-Namen – an. Tragen Sie hier das n8n-Image ein und klicken Sie auf „Deploy Now“.

Dieses Image enthält bereits eine lauf­fä­hi­ge n8n-In­stal­la­ti­on. Klicken Sie an­schlie­ßend auf „Deploy Now“, um den Container zu starten.

n8n läuft stan­dard­mä­ßig intern auf Port 5678. In manchen Fällen erkennt CapRover diesen Port nicht au­to­ma­tisch korrekt. Über­prü­fen Sie daher nach dem De­ploy­ment die HTTP-Ein­stel­lun­gen Ihrer App, indem Sie Ihre n8n-App im CapRover-Dashboard öffnen und in den Bereich „HTTP Settings“ wechseln. Setzen Sie hier den Container HTTP Port auf 5678.

Hinweis

Wenn der falsche Port kon­fi­gu­riert ist, kann Ihre n8n-Instanz zwar laufen, ist jedoch im Browser nicht er­reich­bar. Achten Sie daher unbedingt auf die korrekte Ein­stel­lung.

Al­ter­na­tiv können Sie eine so­ge­nann­te captain-definition verwenden. Diese Variante ist besonders sinnvoll, wenn Sie bereits beim De­ploy­ment wichtige Um­ge­bungs­va­ria­blen setzen möchten. Erstellen Sie dazu im Deploy-Bereich eine neue De­fi­ni­ti­on mit folgendem Inhalt:

{
    "schemaVersion": 2,
    "dockerfileLines": [
        "FROM docker.n8n.io/n8nio/n8n",
        "ENV N8N_HOST=n8n.IHRE-DOMAIN",
        "ENV N8N_PORT=5678",
        "ENV N8N_PROTOCOL=https",
        "ENV WEBHOOK_URL=https://n8n.IHRE-DOMAIN/",
        "ENV N8N_PROXY_HOPS=1",
        "EXPOSE 5678"
    ]
}

Mit dieser Kon­fi­gu­ra­ti­on stellen Sie sicher, dass n8n direkt unter Ihrer Domain er­reich­bar ist und Webhooks korrekt funk­tio­nie­ren. Besonders die Variable WEBHOOK_URL ist wichtig, damit externe Dienste (z. B. Slack oder APIs) korrekt mit Ihrem n8n-Server kom­mu­ni­zie­ren können.

Starten Sie an­schlie­ßend den De­ploy­ment-Prozess. CapRover lädt nun das Image herunter, erstellt den Container und startet die Anwendung au­to­ma­tisch.

Bild: CapRover: Build erfolgreich
Wenn das De­ploy­ment er­folg­reich ab­ge­schlos­sen ist, finden Sie oben die Meldung „Build has finished suc­cessful­ly!“.

Schritt 6: Per­sis­ten­ten Speicher ein­rich­ten

Damit Ihre Workflows, Zu­gangs­da­ten und Ein­stel­lun­gen in n8n dauerhaft ge­spei­chert werden, müssen Sie einen per­sis­ten­ten Speicher (das so­ge­nann­te Volume) kon­fi­gu­rie­ren. Ohne diese Ein­stel­lung würden alle Daten verloren gehen, sobald der Container neu gestartet oder ak­tua­li­siert wird, was im pro­duk­ti­ven Betrieb unbedingt vermieden werden sollte.

Öffnen Sie dazu im CapRover-Dashboard Ihre n8n-App und wechseln Sie in den Bereich „App Configs“. Scrollen Sie an­schlie­ßend zum Abschnitt „Per­sis­tent Di­rec­to­ries“. Hier füllen Sie zwei Felder aus:

  • Path in Container: /home/node/.n8n (der Standard-Spei­cher­ort von n8n im Container)
  • Label (Volume Name): z. B. n8n-data (CapRover stellt diesem Label au­to­ma­tisch captain-- voran und verwaltet das Volume unter /var/lib/docker/volumes/captain--n8n-data/_data auf Ihrem Server)

Al­ter­na­tiv können Sie statt eines Labels einen konkreten Host-Pfad (z. B. /captain-data/n8n) angeben. Achten Sie in diesem Fall darauf, dass das Ver­zeich­nis vor dem Speichern bereits auf dem Server existiert. Klicken Sie an­schlie­ßend auf „Save & Update“, damit das Volume gemountet und die App neu gestartet wird.

Hinweis

In Spe­zi­al­fäl­len nutzen Sie nicht den Bereich „Per­sis­tent Di­rec­to­ries“, sondern führen die Kon­fi­gu­ra­ti­on über den Bereich „Service Update Override“ durch. Tragen Sie hier dann folgenden Inhalt ein:

{
    "TaskTemplate": {
        "ContainerSpec": {
            "Mounts": [
                {
                    "Type": "volume",
                    "Source": "captain--n8n-data",
                    "Target": "/home/node/.n8n"
                }
            ]
        }
    }
}

Ohne per­sis­ten­ten Speicher gehen alle n8n-Daten bei einem Neustart verloren.

Dieses Ver­zeich­nis ist der Standard-Spei­cher­ort von n8n innerhalb des Con­tai­ners. Hier werden unter anderem Ihre Workflows, Cre­den­ti­als, Ver­schlüs­se­lungs­da­ten und weitere Kon­fi­gu­ra­tio­nen abgelegt. Durch die Ver­knüp­fung mit einem per­sis­ten­ten Volume stellt CapRover sicher, dass diese Daten auch nach Updates, Neustarts oder De­ploy­ments erhalten bleiben.

Speichern Sie die Änderung und starten Sie die App an­schlie­ßend neu, damit die Kon­fi­gu­ra­ti­on aktiv wird.

Tipp

Wenn Sie später Backups erstellen möchten, ist genau dieses Ver­zeich­nis besonders wichtig. Es empfiehlt sich daher, re­gel­mä­ßig Si­che­run­gen dieses Spei­cher­orts anzulegen oder in ein externes Backup-System ein­zu­bin­den.

Schritt 7: n8n aufrufen und ein­rich­ten

Nach dem er­folg­rei­chen De­ploy­ment können Sie Ihre n8n-Instanz über die zuvor kon­fi­gu­rier­te Domain im Browser aufrufen:

https://n8n.IHRE-DOMAIN

Stellen Sie sicher, dass die Domain korrekt ein­ge­rich­tet ist und das SSL-Zer­ti­fi­kat aktiv ist, damit der Zugriff pro­blem­los funk­tio­niert. Falls die Seite nicht sofort er­reich­bar ist, kann es helfen, einige Minuten zu warten oder den Browser-Cache zu leeren, da DNS-Än­de­run­gen manchmal verzögert greifen.

Beim ersten Aufruf werden Sie durch den Ein­rich­tungs­pro­zess von n8n geführt. Dabei legen Sie zunächst einen Ad­mi­nis­tra­tor-Benutzer an, bestehend aus E-Mail-Adresse und Passwort. Diese Zu­gangs­da­ten benötigen Sie künftig für den Login, daher sollten Sie ein sicheres Passwort wählen und die Daten gut auf­be­wah­ren.

Nach der er­folg­rei­chen Re­gis­trie­rung gelangen Sie direkt in das n8n-Dashboard. Hier können Sie sofort mit der Er­stel­lung Ihres ersten Workflows beginnen, Nodes hin­zu­fü­gen und In­te­gra­tio­nen mit externen Diensten ein­rich­ten. Die Be­nut­zer­ober­flä­che ist visuell aufgebaut, sodass Sie Au­to­ma­ti­sie­run­gen per Drag-and-Drop zu­sam­men­stel­len können.

Schritt 8: Wichtige Um­ge­bungs­va­ria­blen kon­fi­gu­rie­ren

Für den pro­duk­ti­ven Einsatz sollten Sie Ihre n8n-Instanz zu­sätz­lich absichern und kon­fi­gu­rie­ren. Dies erfolgt über so­ge­nann­te Um­ge­bungs­va­ria­blen, mit denen Sie zentrale Funk­tio­nen wie Ver­schlüs­se­lung und Zu­griffs­schutz steuern.

Öffnen Sie dazu im CapRover-Dashboard Ihre n8n-App und wechseln Sie in den Bereich „App Configs“. Dort finden Sie den Abschnitt „En­vi­ron­ment Variables“, in dem Sie neue Variablen hin­zu­fü­gen können.

Fügen Sie bei­spiels­wei­se folgenden Eintrag hinzu:

  • N8N_ENCRYPTION_KEY=xyz123
Bild: CapRover: Umgebungsvariablen für n8n setzen
Setzen Sie die Um­ge­bungs­va­ria­blen für n8n bequem in der UI von CapRover unter „App Configs“.

Die Variable N8N_ENCRYPTION_KEY ist besonders wichtig, da sie zur Ver­schlüs­se­lung sensibler Daten wie Cre­den­ti­als verwendet wird. Verwenden Sie hier anstatt unseres Beispiels unbedingt einen langen, zu­fäl­li­gen und sicheren Schlüssel. Wenn dieser Schlüssel verloren geht oder geändert wird, können ge­spei­cher­te Zu­gangs­da­ten nicht mehr ent­schlüs­selt werden. Unter Linux können Sie einen passenden Schlüssel bei­spiels­wei­se ganz einfach mit OpenSSL erzeugen, indem Sie openssl rand -hex 32 nutzen.

Speichern Sie die Än­de­run­gen und starten Sie die App an­schlie­ßend neu, damit die neuen Ein­stel­lun­gen über­nom­men werden. Danach ist Ihre n8n-Instanz besser ab­ge­si­chert und für den pro­duk­ti­ven Betrieb vor­be­rei­tet.

Hinweis

Für zeit­ge­steu­er­te n8n-Workflows, bei­spiels­wei­se mit einem Schedule-Trigger, sollten Sie zu­sätz­lich die korrekte Zeitzone kon­fi­gu­rie­ren. An­dern­falls kann es zu un­er­war­te­ten Aus­füh­rungs­zei­ten kommen. Fügen Sie dazu folgende Um­ge­bungs­va­ria­blen hinzu:

  • TZ=Europe/Berlin
  • GENERIC_TIMEZONE=Europe/Berlin

Diese Ein­stel­lun­gen stellen sicher, dass n8n Zeit­an­ga­ben korrekt in­ter­pre­tiert und geplante Workflows zu­ver­läs­sig zur ge­wünsch­ten Uhrzeit aus­ge­führt werden.

Zum Hauptmenü