n8n Docker : corriger l'erreur EACCES: permission denied, open '/home/node/.n8n/config'
Problème
Lors du démarrage de n8n dans un conteneur Docker, vous rencontrez le message d’erreur suivant :
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:2Solution
Vous devez ajuster les permissions du répertoire /home/node/.n8n pour garantir que l’utilisateur node au sein du conteneur Docker dispose des droits d’accès nécessaires.
Il est probable que vous l’ayez mappé vers un répertoire sur votre machine hôte qui n’a pas les permissions correctes, par exemple n8n_storage.
Vous pouvez corriger ce problème en exécutant la commande suivante sur votre machine hôte :
fix_n8n_permissions.sh
chown -R 1000:1000 n8n_storageRemplacez le répertoire par le répertoire exact utilisé.
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow