Installation 8n8 wird als Webseite bereitgestellt und auf einem Server gehostet oder aus der Cloud direkt im Browser ausgeführt. Hier wird die Docker Installation beschrieben. Dabei wird PostgreSQL als Datenbank verwendet. Es kann auch statt einer PostgreSQL die integrierte SQLite verwendet werden, jedoch wird aus Perfomance Gründen PostgreSQL empfohlen. Alle benötigten Dateien sind auch im GitHub von n8n verfügbar: n8n GitHub - Config Files Folgend die Docker Compose Konfiguration. ( docker-compose.yml) Bitte die Pfade bei den beiden Volumes für die Daten anpassen. services: n8n-db: image: postgres restart: always hostname: n8n-db container_name: n8n-db environment: - POSTGRES_USER - POSTGRES_PASSWORD - POSTGRES_DB - POSTGRES_NON_ROOT_USER - POSTGRES_NON_ROOT_PASSWORD volumes: - /path/to/n8n/data-db:/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 n8n: image: docker.n8n.io/n8nio/n8n restart: always hostname: n8n container_name: n8n ports: - 5678:5678 volumes: - /path/to/n8n/data-n8n:/home/node/.n8n environment: - DB_TYPE=postgresdb - DB_POSTGRESDB_HOST=n8n-db - DB_POSTGRESDB_PORT=5432 - DB_POSTGRESDB_DATABASE=${POSTGRES_DB} - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER} - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD} depends_on: n8n-db: condition: service_healthy Zusätzlich wird noch eine .env Konfiguration für die Benutzer und Passwörter benötigt, welche wie folgt aussieht. Diese Datei bitte in den selben Ordner wie die Compose Konfiguration platzieren. Bitte die Passwörter durch eigene und sichere Passwörter austauschen. POSTGRES_USER=root POSTGRES_PASSWORD=Ganz-Super-Dolles-Passwort POSTGRES_DB=n8n POSTGRES_NON_ROOT_USER=n8n POSTGRES_NON_ROOT_PASSWORD=Weniger-Dolles-Passwort Außerdem ist noch ein Shell-Skript hinzuzufügen, welches ebenfalls im selben Ordner liegen muss. (init-data.sh) #!/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 Damit wären alle notwendigen Konfigurationen abgeschlossen und das Setup kann gestartet werden. Um die Docker Compose Konfiguration auszuführen, kann am besten in das Verzeichnis der YAML Datei gewechselt werden. Danach wird je nach nach gewählter Installation  sudo docker-compose up -d oder sudo docker compose up -d (keine Bindestrich zwischen docker und compose) eingegeben, um die Standard Konfiguration docker-compose.yml zu starten. Compose erstellt dann die gewünschten Container mit den angegeben Optionen. Sollten die Container bereits mit dieser Compose Konfiguration erstellt worden sein, so werden die Container in dieser neu erstellt, dessen Konfiguration geändert wurde. Nach einigen Sekunden sollte n8n einsatzbereit sein. Die Seite von n8n ist über http://localhost:5678 erreichbar.