<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Broken Update n8n to 4.40.0 - n8n app stuck in restart loop — npm EACCES on /home/cloudron/.npm despite chown in start script]]></title><description><![CDATA[<p dir="auto">After a failed backup/restart cycle, my n8n app (Cloudron package io.n8n.cloudronapp, v4.40.0) got stuck in a permanent restart loop and won't come back up.</p>
<p dir="auto">Symptoms:</p>
<p dir="auto">Healthcheck fails repeatedly: Healthcheck error: Error: connect ECONNREFUSED &lt;app-ip&gt;:5678 (previously EHOSTUNREACH)<br />
On every start attempt, npm fails while installing extra node modules:<br />
npm error code EACCES<br />
npm error syscall mkdir<br />
npm error path /home/cloudron/.npm/_cacache/tmp<br />
npm error errno EACCES<br />
npm error Your cache folder contains root-owned files...<br />
npm error   sudo chown -R 1000:1000 "/home/cloudron/.npm"<br />
This happens even on a freshly recreated container (Cloudron deleted and recreated the container as part of a repair/debug task), so it's not a leftover from the old container's filesystem — it recurs immediately on the new one too.<br />
The package's own <a href="http://start.sh" target="_blank" rel="noopener noreferrer nofollow ugc">start.sh</a> already runs chown -R cloudron:cloudron /app/data /run/n8n /run/<em>.npm /run/</em>.cache /run/*.ssh before the npm install step for PKG_EXTRA_NODE_MODULES (a handful of custom node packages), yet the EACCES persists.<br />
The app also briefly entered a Cloudron "Repair mode... sleeping" state during one restart attempt, which I've since disabled.</p>
<p dir="auto">What I've checked:</p>
<p dir="auto">/run/cloudron.npm (symlink target of /home/cloudron/.npm) is present and empty, owned by cloudron:cloudron (uid 1000).<br />
No supervisorctl socket present (/var/run/supervisor.sock doesn't exist) — image apparently doesn't run supervisord for shell access, only via the packaged <a href="http://start.sh" target="_blank" rel="noopener noreferrer nofollow ugc">start.sh</a> → exec supervisord.<br />
/run is mounted as ext4, not tmpfs, so it's not a "wiped on restart" issue.</p>
<p dir="auto">Question:<br />
Is /run/cloudron.npm (or its _cacache subfolder specifically) expected to sometimes get root-owned entries from an npm install step that runs as root before the gosu cloudron:cloudron npm install line, and if so, is there a known race/ordering bug in the n8n package's <a href="http://start.sh" target="_blank" rel="noopener noreferrer nofollow ugc">start.sh</a> between the chown and the actual npm install for PKG_EXTRA_NODE_MODULES?</p>
<p dir="auto">Workaround used: Restoring from an earlier backup instead of continuing to debug live, since the app was fully down.</p>
<p dir="auto">Environment:</p>
<p dir="auto">Cloudron app: n8n (io.n8n.cloudronapp@4.40.0)<br />
Cloudron CLI used for restart/logs</p>
]]></description><link>https://forum.cloudron.io/topic/15902/broken-update-n8n-to-4.40.0-n8n-app-stuck-in-restart-loop-npm-eacces-on-home-cloudron-.npm-despite-chown-in-start-script</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 21:38:05 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/15902.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Sep 2026 09:25:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Broken Update n8n to 4.40.0 - n8n app stuck in restart loop — npm EACCES on /home/cloudron/.npm despite chown in start script on Wed, 02 Sep 2026 09:57:38 GMT]]></title><description><![CDATA[<p dir="auto">We are working on a fix, please see <a href="https://forum.cloudron.io/topic/15892/broken-update-n8n-to-2.36.8/">https://forum.cloudron.io/topic/15892/broken-update-n8n-to-2.36.8/</a></p>
]]></description><link>https://forum.cloudron.io/post/128870</link><guid isPermaLink="true">https://forum.cloudron.io/post/128870</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Wed, 02 Sep 2026 09:57:38 GMT</pubDate></item></channel></rss>