So installierst du n8n auf deinem Linux-Server

Marc Wag­ner

Dezem­ber 5, 2025

10 min read|

In die­sem Arti­kel erfährst du, wie du n8n auf dei­nem Linux-Ser­­ver instal­lie­ren und ein­rich­ten kannst. Wir wer­den jeden Schritt detail­liert durch­ge­hen, sodass du dei­ne Auto­ma­ti­sie­run­gen ohne Pro­ble­me umset­zen kannst. Die­se Anlei­tung rich­tet sich sowohl an Anfän­ger als auch an erfah­re­ne Nut­zer, die mehr über n8n erfah­ren möch­ten.

Einführung in n8n #

n8n ist eine inno­va­ti­ve Open-Source-Plat­t­­form, die es ermög­licht, Arbeits­ab­läu­fe durch Auto­ma­ti­sie­rung zu opti­mie­ren. Sie bie­tet eine benut­zer­freund­li­che Ober­flä­che, mit der Du kom­ple­xe Inte­gra­tio­nen und Auto­ma­ti­sie­run­gen erstel­len kannst, ohne tie­fe Pro­gram­mier­kennt­nis­se zu benö­ti­gen. Zu den Haupt­funk­tio­nen von n8n gehö­ren die Anbin­dung an eine Viel­zahl von Diens­ten über API-Inte­­gra­­tio­­nen, die Mög­lich­keit, Daten in ver­schie­de­nen For­ma­ten zu ver­ar­bei­ten und Work­flows visu­ell zu gestal­ten.

Mit n8n kannst Du bei­spiels­wei­se in einem Mar­ke­­ting-Team auto­ma­tisch neue Leads erfas­sen, indem Du For­mu­lar­da­ten in eine CRM-Daten­­­bank über­trägst und gleich­zei­tig E‑Mail-Benach­rich­­ti­­gun­­gen ver­sen­dest. Zudem kön­nen Unter­neh­men ihre inter­nen Pro­zes­se opti­mie­ren, indem sie wie­der­keh­ren­de Auf­ga­ben auto­ma­ti­sie­ren, wie etwa das Report­ing oder das Ver­sen­den von Erin­ne­run­gen. Zu den Best Prac­ti­ces gehört, nur die benö­tig­ten Tools und Inte­gra­tio­nen zu ver­wen­den, um die Leis­tung nicht zu beein­träch­ti­gen.

Ein Bei­spiel für den erfolg­rei­chen Ein­satz von n8n könn­te ein E‑Com­­mer­ce-Unter­­neh­­men sein, das den Bestell­pro­zess auto­ma­ti­siert hat. Dadurch wur­den Ver­zö­ge­run­gen erheb­lich redu­ziert und die Kun­den­zu­frie­den­heit gestei­gert.

Um n8n erfolg­reich auf Dei­nem Linux-Ser­­ver zu instal­lie­ren, sind eini­ge Grund­vor­aus­set­zun­gen erfor­der­lich. Stel­le sicher, dass ein aktu­el­les Node.js instal­liert ist, da n8n dar­auf auf­baut. Du kannst Node.js über den Paket­ma­na­ger Dei­ner Dis­tri­bu­ti­on instal­lie­ren. Des Wei­te­ren benö­tigst Du eine Daten­bank, wie Post­greS­QL oder MyS­QL, und Docker, um die Instal­la­ti­on zu ver­ein­fa­chen. Ach­te dar­auf, die Pake­te regel­mä­ßig zu aktua­li­sie­ren, um Sicher­heits­ri­si­ken zu mini­mie­ren.

Die Instal­la­ti­on kann durch fol­gen­de Schrit­te erfol­gen:

  1. Update der Paket­lis­te: sudo apt update
  2. Node.js instal­lie­ren: curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - und dann sudo apt install -y nodejs
  3. Instal­la­ti­on von Docker: sudo apt install -y docker.io
  4. Daten­­­bank-Set­up ent­spre­chend der gewähl­ten Daten­bank­lö­sung.

Durch die­se Schrit­te schaffst Du die nöti­ge Grund­la­ge für die n8n-Instal­la­­ti­on.

Vorbereitung des Linux-Servers #

Bevor du mit der Instal­la­ti­on von n8n auf dei­nem Linux-Ser­­ver beg­inst, musst du sicher­stel­len, dass dein Ser­ver kor­rekt vor­be­rei­tet ist. Zuerst soll­test du dich ver­ge­wis­sern, dass dein Sys­tem auf dem neu­es­ten Stand ist. Dies kannst du mit fol­gen­dem Befehl über­prü­fen und aktua­li­sie­ren:

sudo apt update && sudo apt upgrade -y

n8n benö­tigt meh­re­re Abhän­gig­kei­ten, daher ist es wich­tig, dass du die erfor­der­li­chen Pake­te instal­lierst. Du benö­tigst Node.js (min­des­tens Ver­si­on 14), npm, und Redis. Instal­lie­re Node.js und npm mit die­sen Schrit­ten:

Zuerst füge das Node­­Sour­ce-Repo­­si­­to­ry hin­zu:

curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -

Dann instal­lie­re Node.js:

sudo apt install -y nodejs

Um Redis zu instal­lie­ren, kannst du ein­fach den fol­gen­den Befehl aus­füh­ren:

sudo apt install -y redis-server

Über­prü­fe die Instal­la­ti­on von Node.js und npm mit den Befeh­len:

node -v
npm -v

Ein häu­fi­ges Pro­blem dabei ist, dass Node.js mög­li­cher­wei­se nicht kor­rekt instal­liert wird oder eine fal­sche Ver­si­on ver­wen­det wird. Ach­te dar­auf, dass du das kor­rek­te Repo­si­to­ry für dei­ne Dis­tri­bu­ti­on ver­wen­dest und die Instal­la­ti­ons­schrit­te genau befolgst. Ein wei­te­res typi­sches Pro­blem ist eine feh­len­de Kon­fi­gu­ra­ti­on von Redis; stel­le sicher, dass der Redis-Dienst aktiv ist und bei Bedarf mit

sudo systemctl start redis-server

gestart wird. Die­se Schrit­te berei­ten dei­nen Linux-Ser­­ver opti­mal für die n8n-Instal­la­­ti­on vor.

n8n Installation mit Docker #

Die Instal­la­ti­on von n8n mit­hil­fe von Docker ist eine her­vor­ra­gen­de Mög­lich­keit, um eine iso­lier­te und leicht ver­walt­ba­re Umge­bung für dei­ne Auto­­ma­­ti­­sie­rungs-Work­f­lows zu schaf­fen. Docker ermög­licht es dir, n8n in Con­tai­nern zu betrei­ben, was die Instal­la­ti­on und Ver­wal­tung erheb­lich ver­ein­facht. Zu den Vor­tei­len gehö­ren unter ande­rem die unkom­pli­zier­te Bereit­stel­lung, Ver­si­ons­kon­trol­le und die Mög­lich­keit, Abhän­gig­kei­ten in einem kon­sis­ten­ten Zustand zu hal­ten, ohne dass sie das Host-Sys­­tem beein­flus­sen.

Um n8n über Docker zu instal­lie­ren, fol­ge die­sen Schrit­ten:

  1. Docker und Docker Com­po­se instal­lie­ren: Stel­le sicher, dass Docker und Docker Com­po­se auf dei­nem Linux-Ser­­ver instal­liert sind. Du kannst dies mit fol­gen­dem Befehl über­prü­fen:
   docker --version
   docker-compose --version
  1. Docker-Com­­po­­se-Datei erstel­len: Erstel­le eine Datei namens docker-compose.yml in einem neu­en Ver­zeich­nis:
   version: '3'
   services:
     n8n:
       image: n8n-io/n8n
       restart: always
       ports:
         - "5678:5678"
       environment:
         - N8N_BASIC_AUTH_USER=deinBenutzername
         - N8N_BASIC_AUTH_PASSWORD=deinPasswort
         - DB_TYPE=sqlite
  1. n8n star­ten: Wechs­le in das Ver­zeich­nis, in dem sich die docker-compose.yml befin­det, und füh­re fol­gen­den Befehl aus:
   docker-compose up -d
  1. Zugriff auf n8n: Du kannst n8n jetzt unter http://deineServerIP:5678 im Brow­ser errei­chen.

Mit die­sen Schrit­ten hast du n8n erfolg­reich über Docker instal­liert. Den­ke dar­an, die ange­ge­be­nen Umge­bungs­va­ria­blen ent­spre­chend dei­nen Anfor­de­run­gen anzu­pas­sen.

Manuelle Installation von n8n #

Die manu­el­le Instal­la­ti­on von n8n auf einem Linux-Ser­­ver kann sinn­voll sein, wenn du eine maß­ge­schnei­der­te Umge­bung benö­tigst oder Docker ver­mei­dest. Die­se Metho­de erlaubt dir eine tie­fe­re Kon­trol­le über die Deploy-Para­­me­­ter und die Sys­tem­res­sour­cen. Zudem kannst du spe­zi­fi­sche Abhän­gig­kei­ten instal­lie­ren, die für dei­ne indi­vi­du­el­le Kon­fi­gu­ra­ti­on erfor­der­lich sind. Die Vor­tei­le der manu­el­len Instal­la­ti­on umfas­sen Fle­xi­bi­li­tät, Anpas­sungs­fä­hig­keit und die Mög­lich­keit, n8n mit gerin­ge­rem Over­head als in einer Docker-Umge­­bung aus­zu­füh­ren.

Hier ist eine Schritt-für-Schritt-Anlei­­tung zur manu­el­len Instal­la­ti­on von n8n:

  1. Stel­le sicher, dass Node.js (ab Ver­si­on 14) und npm auf dei­nem Ser­ver instal­liert sind. Du kannst dies mit fol­gen­dem Befehl über­prü­fen:
   node -v
   npm -v
  1. Wenn Node.js nicht instal­liert ist, kannst du es mit den fol­gen­den Befeh­len instal­lie­ren:
   curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
   sudo apt-get install -y nodejs
  1. Instal­lie­re n8n glo­bal mit npm:
   npm install n8n -g
  1. Nach­dem die Instal­la­ti­on abge­schlos­sen ist, erstel­le ein Ver­zeich­nis für dei­ne n8n-Kon­­­fi­­gu­ra­­ti­on:
   mkdir ~/.n8n
  1. Jetzt kannst du n8n star­ten, indem du fol­gen­den Befehl aus­führst:
   n8n start

Ach­te dar­auf, dass du n8n mit einem geeig­ne­ten Nut­zer aus­führst, um Berech­ti­gungs­pro­ble­me zu ver­mei­den. Ein poten­zi­el­ler Stol­per­stein kann die feh­len­de Kon­fi­gu­ra­ti­on von Umge­bungs­va­ria­blen sein. Stel­le sicher, dass dei­ne Daten­bank­ein­stel­lun­gen und ande­re Umge­bungs­va­ria­blen kor­rekt gesetzt sind, indem du sie in dei­ner Shell expor­tierst oder in einer Kon­fi­gu­ra­ti­ons­da­tei spei­cherst.

Konfiguration von n8n #

Um n8n opti­mal zu kon­fi­gu­rie­ren, ist es wich­tig, die rich­ti­gen Ein­stel­lun­gen vor­zu­neh­men, die auf dei­nen spe­zi­fi­schen Anwen­dungs­fall abge­stimmt sind. Nach der Instal­la­ti­on kannst du auf das Dash­board zugrei­fen, um die grund­le­gen­den Ein­stel­lun­gen zu ändern. Zu den Schlüs­sel­fak­to­ren gehö­ren die Authen­ti­fi­zie­rungs­me­tho­den, die du akti­vie­ren möch­test. Eine gän­gi­ge Pra­xis ist die Ver­wen­dung von OAuth2 für eine siche­re Ver­bin­dung mit exter­nen Diens­ten. Du kannst die Zugangs­da­ten über n8n’s Benut­zer­ober­flä­che hin­zu­fü­gen.

Ein wei­te­rer wich­ti­ger Aspekt ist die Kon­fi­gu­ra­ti­on der Work­f­low-Tri­g­­ger. n8n unter­stützt ver­schie­de­ne Tri­g­­ger-Typen, dar­un­ter HTTP-Request, Web­hook und Cron-Tri­g­­ger. Die­se Optio­nen ermög­li­chen dir das Aus­lö­sen von Auto­ma­ti­sie­run­gen basie­rend auf exter­nen Ereig­nis­sen oder Zeit­plä­nen.

Zusätz­lich soll­test du die Umge­bungs­va­ria­blen ent­spre­chend anpas­sen. Die­se beinhal­ten Ein­stel­lun­gen wie die Daten­bank­kon­fi­gu­ra­ti­on, API-Keys und Unter­neh­mens­spe­zi­fi­sche Varia­blen, die sicher­stel­len, dass dei­ne Instanz naht­los funk­tio­niert.

Auf der ande­ren Sei­te sind Inte­gra­tio­nen ein zen­tra­ler Teil von n8n. Typi­sche Anwen­dungs­sze­na­ri­en sind die Inte­gra­ti­on von Slack zur Benach­rich­ti­gung von Team­mit­glie­dern oder der Daten­aus­tausch zwi­schen Goog­le Sheets und dei­nen inter­nen Sys­te­men.

Eine Schritt-für-Schritt-Anlei­­tung zur Kon­fi­gu­ra­ti­on einer gän­gi­gen Inte­gra­ti­on sieht wie folgt aus: Zunächst wählst du den gewünsch­ten Trig­ger, gefolgt von der Fest­le­gung der erfor­der­li­chen Aktio­nen. Nut­ze die ver­schie­de­nen Optio­nen und Para­me­ter, um die Inte­gra­ti­on indi­vi­du­ell anzu­pas­sen. Durch das Tes­ten dei­ner Kon­fi­gu­ra­ti­on kannst du sicher­stel­len, dass alles rei­bungs­los funk­tio­niert und dei­ne Work­flows opti­mal aus­ge­führt wer­den.

Erstellen von Workflows mit n8n #

Um mit n8n effi­zi­en­te Work­flows zu erstel­len, musst du zuerst ver­ste­hen, wie ver­schie­de­ne Diens­te und Anwen­dun­gen mit­ein­an­der ver­bun­den wer­den kön­nen. n8n bie­tet eine benut­zer­freund­li­che Ober­flä­che, mit der du Auto­ma­ti­sie­run­gen zwi­schen unter­schied­li­chen Platt­for­men kon­fi­gu­rie­ren kannst. Zum Bei­spiel kannst du Daten von einem Goog­le Sheet abru­fen, sie ver­ar­bei­ten und die Ergeb­nis­se dann in eine Slack-Nach­richt sen­den.

Lass uns einen ein­fa­chen Work­flow erstel­len: Du möch­test, dass jede neue E‑Mail in dei­nem Gmail-Pos­t­ein­­gang auto­ma­tisch in einem Trel­­lo-Board als Kar­te auf­ge­zeich­net wird. Hier ist eine Schritt-für-Schritt-Anlei­­tung:

  1. Star­te n8n und erstel­le einen neu­en Work­flow.
  2. Füge den Gmail-Tri­g­­ger hin­zu. Wäh­le “Gmail” aus der Lis­te der ver­füg­ba­ren Inte­gra­tio­nen und kon­fi­gu­rie­re ihn, um auf neue E‑Mails zu reagie­ren.
  3. Füge die Trel­­lo-Akti­on hin­zu. Wäh­le “Trel­lo” aus und set­ze die Akti­on auf “Kar­te erstel­len”. Du musst dein Trel­­lo-Kon­­­to ver­bin­den und das Board aus­wäh­len.
  4. Ver­bin­de die bei­den Nodes. Zie­he eine Linie vom Gmail-Tri­g­­ger zum Trel­­lo-Node, um die Logik zu ver­knüp­fen.
  5. Tes­te den Work­flow. Sen­de dir eine Test-E-Mail und über­prü­fe, ob die Kar­te in Trel­lo kor­rekt erstellt wird.

Typi­sche Feh­ler könn­ten sein, dass die Ver­bin­dun­gen zwi­schen den Nodes nicht rich­tig kon­fi­gu­riert sind, oder dass die API-Zugriffs­­rech­­te nicht kor­rekt ver­ge­ben wur­den. In sol­chen Fäl­len ist es wich­tig, die Logs in n8n zu über­prü­fen und sicher­zu­stel­len, dass alle erfor­der­li­chen Berech­ti­gun­gen gesetzt sind. Indem du die­se Schrit­te befolgst, kannst du effi­zi­ent auto­ma­ti­sier­te Pro­zes­se mit n8n erstel­len.

Troubleshooting und häufige Fehler #

Häu­fi­ge Pro­ble­me bei der Instal­la­ti­on von n8n auf dei­nem Linux-Ser­­ver kön­nen nor­ma­ler­wei­se schnell beho­ben wer­den. Eines der häu­figs­ten Pro­ble­me ist die feh­len­de Instal­la­ti­on erfor­der­li­cher Abhän­gig­kei­ten. Stel­le sicher, dass Node.js und npm (Node Packa­ge Mana­ger) kor­rekt instal­liert sind. Eine gute Metho­de zur Über­prü­fung ist das Aus­füh­ren der fol­gen­den Befeh­le:

node -v
npm -v

Wenn sie nicht instal­liert sind, kannst du sie mit den fol­gen­den Befeh­len instal­lie­ren:

sudo apt update
sudo apt install nodejs npm

Ein wei­te­res häu­fi­ges Pro­blem ist die Kon­fi­gu­ra­ti­on der Umge­bungs­va­ria­blen. n8n benö­tigt bestimm­te Umge­bungs­va­ria­blen, um ord­nungs­ge­mäß zu funk­tio­nie­ren. Über­prü­fe, ob du die Varia­blen kor­rekt gesetzt hast, indem du in dei­ner Shell den Befehl echo $VARIABLE_NAME aus­führst (erset­ze VARIABLE_NAME mit dem Namen der spe­zi­fi­schen Varia­blen).

Bei der Ver­bin­dung zu exter­nen APIs kann es eben­falls zu Pro­ble­men kom­men. Über­prü­fe, ob die Fire­­wall-Ein­s­tel­­lun­­gen den Zugriff auf die benö­tig­ten Ports ermög­li­chen. Oft wird n8n über den Port 5678 bereit­ge­stellt. Stel­le sicher, dass die­ser Port in dei­ner Fire­wall geöff­net ist:

sudo ufw allow 5678

Falls du auf Feh­ler­mel­dun­gen beim Start von n8n stößt, ist es hilf­reich, die Log-Datei­en zu über­prü­fen. Die­se fin­dest du in dem Ver­zeich­nis, in dem n8n instal­liert ist. Über­prü­fe die letz­ten Ein­trä­ge mit:

tail -f ~/.n8n/n8n.log

Die­se Schrit­te kön­nen dir hel­fen, häu­fi­ge Pro­ble­me schnell zu iden­ti­fi­zie­ren und zu lösen.

Sicherheit und Wartung von n8n #

Um die Sicher­heit und War­tung von n8n auf dei­nem Linux-Ser­­ver zu gewähr­leis­ten, gibt es eini­ge bewähr­te Prak­ti­ken, die du beach­ten soll­test. Zunächst ist es wich­tig, die Soft­ware regel­mä­ßig zu aktua­li­sie­ren, um Sicher­heits­lü­cken zu schlie­ßen und neue Funk­tio­nen zu imple­men­tie­ren. Du kannst n8n ein­fach über den Paket­ma­na­ger oder Docker aktua­li­sie­ren, indem du fol­gen­de Schrit­te befolgst:

docker pull n8nio/n8n
docker stop n8n
docker rm n8n
docker run -d --name n8n ...

Hier­bei ist dar­auf zu ach­ten, dass alle Kon­fi­gu­ra­tio­nen und Daten kor­rekt gesi­chert sind, um ein rei­bungs­lo­ses Update zu garan­tie­ren.

Ein wei­te­rer Aspekt der Sicher­heit ist die Imple­men­tie­rung von HTTPS, um die Kom­mu­ni­ka­ti­on mit dem n8n-Ser­­ver zu ver­schlüs­seln. Du kannst Let’s Encrypt nut­zen, um kos­ten­lo­se SSL-Zer­­ti­­fi­­ka­­te zu erhal­ten. Die Ein­rich­tung erfolgt typi­scher­wei­se durch die Kon­fi­gu­ra­ti­on von Nginx oder Apa­che als Rever­se Pro­xy, etwa so:

server {
    listen 80;
    server_name your-domain.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name your-domain.com;

    ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;

    location / {
        proxy_pass http://localhost:5678;
        ...
    }
}

Um Sicher­heits­ri­si­ken wei­ter zu mini­mie­ren, kannst du die Fire­wall dei­nes Ser­vers kon­fi­gu­rie­ren, um nur bestimm­te Ports zu öff­nen und den Zugriff zu kon­trol­lie­ren. Zudem ist es rat­sam, n8n nur im inter­nen Netz­werk zugäng­lich zu machen und sen­si­ble API-Schlüs­­sel in Umge­bungs­va­ria­blen zu spei­chern.

Die Sta­bi­li­tät des Sys­tems kannst du durch regel­mä­ßi­ge Back­ups und Moni­­to­ring-Tools wie Graf­a­na oder Pro­me­theus sicher­stel­len, die dir hel­fen, die Leis­tung von n8n im Blick zu behal­ten.

Fazit #

Zusam­men­fas­send hast du jetzt alle not­wen­di­gen Schrit­te ken­nen­ge­lernt, um n8n erfolg­reich auf dei­nem Linux-Ser­­ver zu instal­lie­ren und ein­zu­rich­ten. Mit den bereit­ge­stell­ten Anlei­tun­gen und Best Prac­ti­ces bist du bes­tens gerüs­tet, um effi­zi­en­te Work­flows zu erstel­len und dei­ne Auto­ma­ti­sie­rung auf die nächs­te Stu­fe zu heben.

88e86fcb816eff22bc917094df2862d8dd5c0e978b333e6dd5f36f808990c261 96

Arti­kel von:

Marc Wag­ner

Hi Marc here. I’m the foun­der of Forge12 Inter­ac­ti­ve and have been pas­sio­na­te about buil­ding web­sites, online stores, appli­ca­ti­ons and SaaS solu­ti­ons for busi­nesses for over 20 years. Befo­re foun­ding the com­pa­ny, I alre­a­dy work­ed in publicly lis­ted com­pa­nies and acqui­red all kinds of know­ledge. Now I want to pass this know­ledge on to my cus­to­mers.

Hast du eine Fra­ge? Hin­ter­lass bit­te einen Kom­men­tar