-
Was ist ein VPS?
-
VPS und Sicherheit
-
VPS - Anwendungsfälle
-
VPS bei METANET
-
VPS und Plesk
-
VPS - Einrichtung & Konfiguration
Überblick
- Verwendetes System: Debian 12 64 bit
- Genutzter User: Ich nehme alles als „root“ vor
- Zeitdauer: ca. 5 Minuten
- Schwierigkeit: Einfach. Nur Code kopieren 😉
- Besonderheiten:
- Grundlage ist folgende Anleitung: https://www.easyname.at/de/vps/anwendungen/traefik-reverseproxy-auf-vps-installieren - Diese Anleitung muss zuerst ausgeführt werden.
- Die Installation von Docker / Docker Compose wird hier vorausgesetzt.
VPS Server von METANET
Finden Sie den Server der zu Ihren Anforderungen passt – jetzt einfach vergleichen.
n8n installieren
1.1 Einleitung
In der Welt der Automatisierungstools hat sich n8n schnell von einem Geheimtipp zu einer der leistungsfähigsten Plattformen entwickelt. Im Gegensatz zu geschlossenen Systemen verfolgt n8n einen "Fair-Code"-Ansatz. Das bedeutet: Der Quellcode ist verfügbar, und das Tool kann entweder in der Cloud genutzt oder – was für Datenschutz und Flexibilität entscheidend ist – auf dem eigenen Server selbst gehostet werden.
1.2 Infos zu yml Dateien
Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Ihr könnt den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator
1.3 Vorbereitung
Diese Anleitung basiert auf dem aktuellen Debian 12 Betriebssystem. n8n werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.
Um n8n neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu findet ihr hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren
1.3.1 Verzeichnis erstellen
Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von n8n abspeichen. Dazu geben wir folgendes in der Konsole ein:
mkdir -p /opt/containers/n8n
Sie können hier auch ein anderes Verzeichnis verwenden. Müssen dann aber die gesamte Anleitung entsprechend anpassen.
1.3.2 docker-compose.yml erstellen
Nun können wir mit der eigentlichen „Installation“ von n8n beginnen. Dazu öffnen sie folgende Datei:
nano /opt/containers/n8n/docker-compose.yml
Nun kopieren sie folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren n8n Container.
services:
n8n-postgres:
image: postgres:16
restart: unless-stopped
env_file:
- ./.env
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_NON_ROOT_USER=${POSTGRES_NON_ROOT_USER}
- POSTGRES_NON_ROOT_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
volumes:
- db_storage:/var/lib/postgresql/data
- ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
healthcheck:
test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
interval: 5s
timeout: 5s
retries: 10
networks:
- default
n8n:
image: docker.n8n.io/n8nio/n8n
restart: unless-stopped
env_file:
- ./.env
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=n8n-postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
- DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD}
links:
- n8n-postgres
volumes:
- n8n_storage:/home/node/.n8n
depends_on:
n8n-postgres:
condition: service_healthy
labels:
- "traefik.enable=true"
- "traefik.http.routers.n8n.entrypoints=http"
- "traefik.http.routers.n8n.rule=Host(`n8n.euredomain.de`)"
- "traefik.http.middlewares.n8n-https-redirect.redirectscheme.scheme=https"
- "traefik.http.routers.n8n.middlewares=n8n-https-redirect"
- "traefik.http.routers.n8n-secure.entrypoints=https"
- "traefik.http.routers.n8n-secure.rule=Host(`n8n.euredomain.de`)"
- "traefik.http.routers.n8n-secure.tls=true"
- "traefik.http.routers.n8n-secure.tls.certresolver=http"
- "traefik.http.routers.n8n-secure.service=n8n"
- "traefik.http.services.n8n.loadbalancer.server.port=5678"
- "traefik.docker.network=proxy"
- "traefik.http.routers.n8n-secure.middlewares=secHeaders@file"
networks:
- proxy
- default
networks:
proxy:
external: true
volumes:
db_storage:
n8n_storage:
1.3.3 Hostname anpassen
Nun müssen sie noch den Hostnamen anpassen, über welchen später n8n erreichbar sein soll.
Diese beiden Zeilen müssen sie anpassen.
- "traefik.http.routers.n8n.rule= Host(`n8n.euredomain.de`)"
- "traefik.http.routers.n8n-secure.rule= Host(`n8n.euredomain.de`)"
In meinem Fall also:
- "traefik.http.routers.n8n.rule= Host(`n8n.testbereich.net`)"
- "traefik.http.routers.n8n-secure.rule= Host(`n8n.testbereich.net`)"
1.3.4 Konfigurationsdatei anlegen
Nun legen wir noch eine Konfigurationsdatei an, welche wichtige Infos zur Datenbank beinhaltet. Dazu geben sie folgendes ein:
nano /opt/containers/n8n/.env
Inhalt:
POSTGRES_USER=changeUser
POSTGRES_PASSWORD=changePassword
POSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=changeUser
POSTGRES_NON_ROOT_PASSWORD=changePassword
Diese Daten könnt ihr nun beliebig anpassen.
1.3.5 Datenbank Initialisierungsskript erstellen
Jetzt benötigen wir noch ein Skript, welches die Datenbank beim ersten Start für uns initialisiert. Dafür geben sie folgendes ein:
nano /opt/containers/n8n/init-data.sh
Inhalt:
#!/bin/bash
set -e;
if [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE USER ${POSTGRES_NON_ROOT_USER} WITH PASSWORD '${POSTGRES_NON_ROOT_PASSWORD}';
GRANT ALL PRIVILEGES ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_NON_ROOT_USER};
GRANT CREATE ON SCHEMA public TO ${POSTGRES_NON_ROOT_USER};
EOSQL
else
echo "SETUP INFO: No Environment variables given!"
fi
n8n starten
Geben sie folgendes ein, um den n8n Container zu starten:
docker compose -f /opt/containers/n8n/docker-compose.yml up -d
Beim ersten Start des Containers wird n8n initialisiert. Dies bedeutet, dass die Datenbank eingerichtet, ihre Einstellungen übernommen werden und vieles mehr. Daher dauert es einige Minuten, bis der Container dann über die Webseite (z.B. n8n.testbereich.net) erreichbar ist.
2.1 n8n einrichten
Sie werden nun aufgefordert einen Benutzer zu erstellen. Geben sie hier ihre persönlichen Daten ein.
Nun werden sie noch einiges gefragt.
Dies können sie überspringen, indem sie auf „Get started“ klickt. Im letzten Schritt können sie sich nun noch beim Hersteller registrieren, damit sie zusätzliche Features aktivieren können.
Diesen Schritt können Sie mittels „Skip“ überspringen. Nun ist n8n fertig eingerichtet.
VPS Server von METANET
Finden Sie den Server der zu Ihren Anforderungen passt – jetzt einfach vergleichen.