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

Problem

Beim Starten von n8n in einem Docker-Container begegnen Sie 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

Sie müssen die Berechtigungen des /home/node/.n8n-Verzeichnisses anpassen, um sicherzustellen, dass der node-Benutzer im Docker-Container die notwendigen Zugriffsrechte hat.

Wahrscheinlich haben Sie es zu einem Verzeichnis auf Ihrer Host-Maschine gemappt, das nicht die korrekten Berechtigungen hat, wie n8n_storage.

Sie können dieses Problem beheben, indem Sie den folgenden Befehl auf Ihrer Host-Maschine ausführen:

fix_n8n_permissions.sh
chown -R 1000:1000 n8n_storage

Ersetzen Sie das Verzeichnis durch das exakt verwendete Verzeichnis.


Check out similar posts by category: Docker, AI