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é.
Si cet article vous a aidé, pensez à m'offrir un café ou à faire un don via PayPal pour soutenir la recherche et la publication de nouveaux articles sur TechOverflow