Wie man n8n docker behebt: Error: EACCES: permission denied, open '/home/node/.n8n/config'

Problem

Beim Starten von n8n in einem Docker-Container begegnest du der folgenden Fehlermeldung:

n8n_eacces_error.txt
Error: EACCES: permission denied, open '/home/node/.n8n/config'
    at writeFileSync (node:fs:2425:20)
    at InstanceSettings.save (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3/node_modules/n8n-core/src/instance-settings/instance-settings.ts:241:16)
    at InstanceSettings.loadOrCreate (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3/node_modules/n8n-core/src/instance-settings/instance-settings.ts:218:8)
    at new InstanceSettings (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@opentelemetry+api@1.9.0_@opentelemetry+sdk-trace-base@1.30_ec37920eb95917b28efaa783206b20f3/node_modules/n8n-core/src/instance-settings/instance-settings.ts:67:24)
    at ContainerClass.get (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/@n8n+di@file+packages+@n8n+di/node_modules/@n8n/di/src/di.ts:104:16)
    at CommunityPackagesModule.loadDir (/usr/local/lib/node_modules/n8n/src/modules/community-packages/community-packages.module.ts:37:30)
    at ModuleRegistry.loadModules (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/@n8n+backend-common@file+packages+@n8n+backend-common/node_modules/@n8n/backend-common/src/modules/module-registry.ts:99:20)
    at CommandRegistry.execute (/usr/local/lib/node_modules/n8n/src/command-registry.ts:46:3)
    at /usr/local/lib/node_modules/n8n/bin/n8n:63:2

Lösung

Du musst die Berechtigungen des /home/node/.n8n-Verzeichnisses anpassen, um sicherzustellen, dass der node-Benutzer im Docker-Container die notwendigen Zugriffsrechte hat.

Wahrscheinlich hast du es zu einem Verzeichnis auf deiner Host-Maschine gemappt, das nicht die korrekten Berechtigungen hat, wie n8n_storage.

Du kannst dieses Problem beheben, indem du den folgenden Befehl auf deiner Host-Maschine ausführst:

fix_n8n_permissions.sh
chown -R 1000:1000 n8n_storage

Ersetze das Verzeichnis durch das exakt verwendete Verzeichnis.


Ähnliche Beiträge nach Kategorie: Docker, AI