<?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[Installing Directus Extensions]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> said in <a href="/post/66670">How to update/change a package.json in /app/code</a>:</p>
<blockquote>
<p dir="auto">Documented here - <a href="https://docs.cloudron.io/apps/directus/#custom-modules" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/apps/directus/#custom-modules</a></p>
</blockquote>
<p dir="auto">I'd like to propose a change in the documentation here:</p>
<p dir="auto">Add <code>export EXTENSIONS_PATH="/app/data/node_modules"</code> to the .env<br />
then</p>
<pre><code># cd /app/data
# HOME=/app/data/ npm i directus-extension-here
</code></pre>
<p dir="auto">then reboot directus</p>
<p dir="auto">This seems to work fairly reliably. Only one extension I was not able to get to run this way.</p>
]]></description><link>https://forum.cloudron.io/topic/10983/installing-directus-extensions</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 20:51:13 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/10983.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 27 Jan 2024 20:32:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Installing Directus Extensions on Tue, 30 Jan 2024 00:45:40 GMT]]></title><description><![CDATA[<p dir="auto">Seems to work like a charm!</p>
]]></description><link>https://forum.cloudron.io/post/82226</link><guid isPermaLink="true">https://forum.cloudron.io/post/82226</guid><dc:creator><![CDATA[andreasdueren]]></dc:creator><pubDate>Tue, 30 Jan 2024 00:45:40 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Mon, 29 Jan 2024 22:54:42 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> said in <a href="/post/82221">Installing Directus Extensions</a>:</p>
<blockquote>
<p dir="auto">I have added a script now in the latest package to install extensions. Seems to work with the extensions I have tried . See <a href="https://docs.cloudron.io/apps/directus/#extensions" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/apps/directus/#extensions</a> . I tested <code>directus-extension-api-docs</code> as well.</p>
</blockquote>
<p dir="auto">Awesome thank you!</p>
]]></description><link>https://forum.cloudron.io/post/82225</link><guid isPermaLink="true">https://forum.cloudron.io/post/82225</guid><dc:creator><![CDATA[andreasdueren]]></dc:creator><pubDate>Mon, 29 Jan 2024 22:54:42 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Mon, 29 Jan 2024 22:26:51 GMT]]></title><description><![CDATA[<p dir="auto">I have added a script now in the latest package to install extensions. Seems to work with the extensions I have tried . See <a href="https://docs.cloudron.io/apps/directus/#extensions" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.cloudron.io/apps/directus/#extensions</a> . I tested <code>directus-extension-api-docs</code> as well.</p>
]]></description><link>https://forum.cloudron.io/post/82221</link><guid isPermaLink="true">https://forum.cloudron.io/post/82221</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Mon, 29 Jan 2024 22:26:51 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Mon, 29 Jan 2024 17:47:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> said in <a href="/post/82196">Installing Directus Extensions</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/andreasdueren" aria-label="Profile: andreasdueren">@<bdi>andreasdueren</bdi></a> did you see a "Killed" message when you ran npm install? I saw this when I was testing one other extension. The installed was killed mid way possibly due to lack of memory, I didn't investigate.</p>
</blockquote>
<p dir="auto">I don't remember seeing one, no. I will try to replicate that.</p>
]]></description><link>https://forum.cloudron.io/post/82201</link><guid isPermaLink="true">https://forum.cloudron.io/post/82201</guid><dc:creator><![CDATA[andreasdueren]]></dc:creator><pubDate>Mon, 29 Jan 2024 17:47:53 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Mon, 29 Jan 2024 17:01:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/andreasdueren" aria-label="Profile: andreasdueren">@<bdi>andreasdueren</bdi></a> did you see a "Killed" message when you ran npm install? I saw this when I was testing one other extension. The installed was killed mid way possibly due to lack of memory, I didn't investigate.</p>
]]></description><link>https://forum.cloudron.io/post/82196</link><guid isPermaLink="true">https://forum.cloudron.io/post/82196</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Mon, 29 Jan 2024 17:01:56 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Mon, 29 Jan 2024 16:37:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> said in <a href="/post/82074">Installing Directus Extensions</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/andreasdueren" aria-label="Profile: andreasdueren">@<bdi>andreasdueren</bdi></a> The app already sets <code>EXTENSIONS_PATH=/app/data/extensions</code> . So, this is conflicting with your instructions.</p>
</blockquote>
<p dir="auto">Going through the <a href="https://git.cloudron.io/cloudron/directus-app/-/blob/master/start.sh?ref_type=heads" target="_blank" rel="noopener noreferrer nofollow ugc">repository</a> I also noticed that I am trying to change various other environmental variables:</p>
<pre><code>export STORAGE_LOCATIONS="local,s3"
export AUTH_OKTA_DRIVER="openid" 
# as a side-note: It would be nice to have openID set up directly without having to do it manually
export AUTH_DISABLE_DEFAULT="true"
</code></pre>
<p dir="auto">They also seem to work (even though I do have some glitches sometimes with the storage locations)</p>
]]></description><link>https://forum.cloudron.io/post/82192</link><guid isPermaLink="true">https://forum.cloudron.io/post/82192</guid><dc:creator><![CDATA[andreasdueren]]></dc:creator><pubDate>Mon, 29 Jan 2024 16:37:00 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Mon, 29 Jan 2024 16:22:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> said in <a href="/post/82185">Installing Directus Extensions</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> said in <a href="/post/82158">Installing Directus Extensions</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/andreasdueren" aria-label="Profile: andreasdueren">@<bdi>andreasdueren</bdi></a> the EXTENSIONS_PATH in your case is only working by accident. I am guessing the reason why one of the extensions doesn't work for you is because it has a scoped name ? Like @foo/directus-extension-bar ?</p>
</blockquote>
<p dir="auto">I was wrong about this. The reason an extension is not working for you is maybe because it is <em>not</em> named <code>directus-extension-xxx</code> ? Does it have that prefix?</p>
</blockquote>
<p dir="auto">Nope that's not the problem. For example I have <code>directus-extension-api-docs</code> vie npm in the <code>node_moduels</code> folder installed but not working. The <code>package.json</code> lists the following dependencies:</p>
<pre><code>"devDependencies": {
        "@directus/extensions-sdk": "^10.3.0",
        "@directus/shared": "^9.24.0",
        "@types/express": "^4.17.21",
        "@types/jest": "^29.5.11",
        "@types/node": "^18.19.8",
        "@typescript-eslint/eslint-plugin": "^5.62.0",
        "@typescript-eslint/parser": "^5.62.0",
        "eslint": "^8.56.0",
        "eslint-config-prettier": "^8.10.0",
        "eslint-plugin-import": "^2.29.1",
        "eslint-plugin-prettier": "^4.2.1",
        "express": "^4.18.2",
        "jest": "^29.7.0",
        "jest-extended": "^3.2.4",
        "openapi-schema-validator": "^12.1.3",
        "pino": "^8.17.2",
        "prettier": "^2.8.8",
        "ts-jest": "^29.1.1",
        "ts-node": "^10.9.2",
        "typescript": "^4.9.5"
    }
</code></pre>
<p dir="auto">These are the ones that did not install for some reason:</p>
<pre><code>        "@directus/extensions-sdk": "^10.3.0",
        "@directus/shared": "^9.24.0",
        "eslint-config-prettier": "^8.10.0",
        "eslint-plugin-import": "^2.29.1",
        "eslint-plugin-prettier": "^4.2.1",
        "jest": "^29.7.0",
        "jest-extended": "^3.2.4",
        "openapi-schema-validator": "^12.1.3",
        "pino": "^8.17.2",
        "prettier": "^2.8.8",
        "ts-jest": "^29.1.1",
        "ts-node": "^10.9.2",
</code></pre>
]]></description><link>https://forum.cloudron.io/post/82190</link><guid isPermaLink="true">https://forum.cloudron.io/post/82190</guid><dc:creator><![CDATA[andreasdueren]]></dc:creator><pubDate>Mon, 29 Jan 2024 16:22:26 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Mon, 29 Jan 2024 15:21:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> said in <a href="/post/82158">Installing Directus Extensions</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/andreasdueren" aria-label="Profile: andreasdueren">@<bdi>andreasdueren</bdi></a> the EXTENSIONS_PATH in your case is only working by accident. I am guessing the reason why one of the extensions doesn't work for you is because it has a scoped name ? Like @foo/directus-extension-bar ?</p>
</blockquote>
<p dir="auto">I was wrong about this. The reason an extension is not working for you is maybe because it is <em>not</em> named <code>directus-extension-xxx</code> ? Does it have that prefix?</p>
]]></description><link>https://forum.cloudron.io/post/82185</link><guid isPermaLink="true">https://forum.cloudron.io/post/82185</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Mon, 29 Jan 2024 15:21:56 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Mon, 29 Jan 2024 14:53:02 GMT]]></title><description><![CDATA[<p dir="auto">Investigating this on how to make it work properly .</p>
<p dir="auto">There are two methods it seems - <a href="https://docs.directus.io/extensions/installing-extensions.html" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.directus.io/extensions/installing-extensions.html</a> :</p>
<ul>
<li>via npm - this involves building a custom docker image. the code then just reads up package.json and looks for packages starting with <code>directus-extension-</code> .</li>
<li>via Extensions Folder - the code is looking for subdirectories recursively named <code>directus-extension-</code> and then reading the package.json inside that folder.</li>
</ul>
<p dir="auto">Ideally, we can use the Extensions folder to install packages via npm. However, npm is making this really difficult. Investigating...</p>
]]></description><link>https://forum.cloudron.io/post/82182</link><guid isPermaLink="true">https://forum.cloudron.io/post/82182</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Mon, 29 Jan 2024 14:53:02 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Mon, 29 Jan 2024 10:46:37 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/andreasdueren" aria-label="Profile: andreasdueren">@<bdi>andreasdueren</bdi></a> the <code>EXTENSIONS_PATH</code> in your case is only working by accident. I am guessing the reason why one of the extensions doesn't work for you is because it has a scoped name ? Like <code>@foo/directus-extension-bar</code> ?</p>
]]></description><link>https://forum.cloudron.io/post/82158</link><guid isPermaLink="true">https://forum.cloudron.io/post/82158</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Mon, 29 Jan 2024 10:46:37 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Sun, 28 Jan 2024 20:47:43 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> Hmm that's actually suboptimal I think. What is the reason not to put all environmental variables in the .env file for the user to modify?</p>
]]></description><link>https://forum.cloudron.io/post/82118</link><guid isPermaLink="true">https://forum.cloudron.io/post/82118</guid><dc:creator><![CDATA[andreasdueren]]></dc:creator><pubDate>Sun, 28 Jan 2024 20:47:43 GMT</pubDate></item><item><title><![CDATA[Reply to Installing Directus Extensions on Sun, 28 Jan 2024 12:33:43 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/andreasdueren" aria-label="Profile: andreasdueren">@<bdi>andreasdueren</bdi></a> The app already sets <code>EXTENSIONS_PATH=/app/data/extensions</code> . So, this is conflicting with your instructions.</p>
]]></description><link>https://forum.cloudron.io/post/82074</link><guid isPermaLink="true">https://forum.cloudron.io/post/82074</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Sun, 28 Jan 2024 12:33:43 GMT</pubDate></item></channel></rss>