<?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[Where should I share my Work In Progress on app packaging ?]]></title><description><![CDATA[<p dir="auto">Hello all.</p>
<p dir="auto">I’ve used Claude to do first cut of packing apps I want in cloudron.</p>
<p dir="auto">Here’s the repo:</p>
<p dir="auto"><a href="https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/master/Techops" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/master/Techops</a></p>
<p dir="auto">Here’s the prompt I use :</p>
<p dir="auto"><a href="https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/master/Techops/CloudronPackagePrompt.md" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/master/Techops/CloudronPackagePrompt.md</a></p>
<p dir="auto">I’ll do a bit of restructuring into a Cloudron and non cloudron directory. Check the history for the stuff I’ve been doing :</p>
<p dir="auto"><a href="https://git.knownelement.com/KNEL/KNELProductionContainers/commits/branch/master" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.knownelement.com/KNEL/KNELProductionContainers/commits/branch/master</a></p>
]]></description><link>https://forum.cloudron.io/topic/13677/where-should-i-share-my-work-in-progress-on-app-packaging</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 12:00:33 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/13677.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 21 Apr 2025 18:36:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Thu, 04 Sep 2025 20:07:35 GMT]]></title><description><![CDATA[<p dir="auto">Make sure to try them with CCAI</p>
]]></description><link>https://forum.cloudron.io/post/112404</link><guid isPermaLink="true">https://forum.cloudron.io/post/112404</guid><dc:creator><![CDATA[robi]]></dc:creator><pubDate>Thu, 04 Sep 2025 20:07:35 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Thu, 04 Sep 2025 16:43:18 GMT]]></title><description><![CDATA[<p dir="auto">Hello everyone. I've been busy with the physical facility buildout of my business. That has now wrapped up (I have one more weekend of punchlist work). Anyway, I am now packaging up the things from my list! Using a combination of claud/gemini.</p>
<p dir="auto">See the git repo here : <a href="https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/integration/" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/integration/</a></p>
]]></description><link>https://forum.cloudron.io/post/112400</link><guid isPermaLink="true">https://forum.cloudron.io/post/112400</guid><dc:creator><![CDATA[charlesnw]]></dc:creator><pubDate>Thu, 04 Sep 2025 16:43:18 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Mon, 07 Jul 2025 17:40:36 GMT]]></title><description><![CDATA[<p dir="auto">For anyone who wants to follow my packaging work:</p>
<p dir="auto"><a href="https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/master/PackagingWorkspace" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/master/PackagingWorkspace</a></p>
]]></description><link>https://forum.cloudron.io/post/109756</link><guid isPermaLink="true">https://forum.cloudron.io/post/109756</guid><dc:creator><![CDATA[charlesnw]]></dc:creator><pubDate>Mon, 07 Jul 2025 17:40:36 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Mon, 07 Jul 2025 13:14:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/charlesnw" aria-label="Profile: charlesnw">@<bdi>charlesnw</bdi></a> said in <a href="/post/109652">Where should I share my Work In Progress on app packaging ?</a>:</p>
<blockquote>
<p dir="auto">Do you all have a discord/slack/telegram/etc room ? Would be great to co-work/hack/collaborate with core team as I work on all these apps.</p>
</blockquote>
<p dir="auto">There are matrix rooms:</p>
<ul>
<li><a href="https://matrix.to/#/#discuss:cloudron.io" target="_blank" rel="noopener noreferrer nofollow ugc">https://matrix.to/#/#discuss:cloudron.io</a></li>
<li><a href="https://matrix.to/#/#cloudron:matrix.org" target="_blank" rel="noopener noreferrer nofollow ugc">https://matrix.to/#/#cloudron:matrix.org</a></li>
</ul>
<p dir="auto">But the best communication path is here, in the forum.</p>
]]></description><link>https://forum.cloudron.io/post/109742</link><guid isPermaLink="true">https://forum.cloudron.io/post/109742</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Mon, 07 Jul 2025 13:14:55 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Thu, 03 Jul 2025 23:48:02 GMT]]></title><description><![CDATA[<p dir="auto">Hello everyone. I am beginning to actually package up applications. Do you all have a discord/slack/telegram/etc room ?  Would be great to co-work/hack/collaborate with core team as I work on all these apps. <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">I have two milestones defined:</p>
<ul>
<li>July : <a href="https://projects.knownelement.com/versions/16" target="_blank" rel="noopener noreferrer nofollow ugc">https://projects.knownelement.com/versions/16</a></li>
<li>August: <a href="https://projects.knownelement.com/versions/17" target="_blank" rel="noopener noreferrer nofollow ugc">https://projects.knownelement.com/versions/17</a></li>
</ul>
<p dir="auto">The July milestone is finalized. I de-scoped a handful of (redundant) apps . I decided to keep librenms/mailpiler in a VM on-premise and grocy in the HomeAssistantOS VM.  Eliminated homebox/homechart as redundant with grocy. Oh also keeping sipwise on-premise in a dedicated VM (because DHCP/tftp/port forwarding from my router).  And sipwise really wants to have full control of the VM.</p>
]]></description><link>https://forum.cloudron.io/post/109652</link><guid isPermaLink="true">https://forum.cloudron.io/post/109652</guid><dc:creator><![CDATA[charlesnw]]></dc:creator><pubDate>Thu, 03 Jul 2025 23:48:02 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Fri, 27 Jun 2025 03:26:41 GMT]]></title><description><![CDATA[<p dir="auto">I have my docker registry setup (one in gitea for testing, one on my cloudron for the images I'll release) and I have the cloudron build service setup. Also have the cloudron tooling on my development workstation (and, you know, have a development workstation setup finally). Progress on packaging very soon. Been going through my bookmarks/notes and found a few more things to package up.</p>
<p dir="auto">I'll be posting updates throughout the month of July as I progress.</p>
]]></description><link>https://forum.cloudron.io/post/109338</link><guid isPermaLink="true">https://forum.cloudron.io/post/109338</guid><dc:creator><![CDATA[charlesnw]]></dc:creator><pubDate>Fri, 27 Jun 2025 03:26:41 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Wed, 11 Jun 2025 12:15:33 GMT]]></title><description><![CDATA[<p dir="auto">The prompt file is here :</p>
<p dir="auto"><a href="https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/master/Cloudron/CloudronPackagePrompt.md" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.knownelement.com/KNEL/KNELProductionContainers/src/branch/master/Cloudron/CloudronPackagePrompt.md</a></p>
<p dir="auto">I’ve been busy building out the front office (physical facilities ) of my rental businesses. That’s finishing up this weekend.</p>
<p dir="auto">So now I’m coming back to building out the middle / back office , and that means lots of cloudron packaging!</p>
]]></description><link>https://forum.cloudron.io/post/108464</link><guid isPermaLink="true">https://forum.cloudron.io/post/108464</guid><dc:creator><![CDATA[charlesnw]]></dc:creator><pubDate>Wed, 11 Jun 2025 12:15:33 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Wed, 11 Jun 2025 06:43:40 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/canadaduane" aria-label="Profile: canadaduane">@<bdi>canadaduane</bdi></a> said in <a href="/post/108425">Where should I share my Work In Progress on app packaging ?</a>:</p>
<blockquote>
<p dir="auto">Use the latest Cloudron base image (cloudron/base:4.2.0)</p>
</blockquote>
<p dir="auto">I think perhaps we're on 5.0.0 now?</p>
]]></description><link>https://forum.cloudron.io/post/108427</link><guid isPermaLink="true">https://forum.cloudron.io/post/108427</guid><dc:creator><![CDATA[jdaviescoates]]></dc:creator><pubDate>Wed, 11 Jun 2025 06:43:40 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Wed, 11 Jun 2025 06:07:01 GMT]]></title><description><![CDATA[<p dir="auto">I think the <code>CloudronPackagePrompt.md</code> file changed locations or was removed. Here is a URL that includes a commit SHA at a time in the repo when it existed:</p>
<p dir="auto"><a href="https://git.knownelement.com/KNEL/KNELProductionContainers/src/commit/9f74e0fc3977d368f1ca4846843607c75cd05b1c/Techops/CloudronPackagePrompt.md" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.knownelement.com/KNEL/KNELProductionContainers/src/commit/9f74e0fc3977d368f1ca4846843607c75cd05b1c/Techops/CloudronPackagePrompt.md</a></p>
<p dir="auto">Here is the prompt, licensed AGPL according to the repo:</p>
<h1>Cloudron Application Packaging Wizard</h1>
<p dir="auto">You are a Cloudron packaging expert who will help me package any application for deployment on the Cloudron platform. Using your knowledge of Cloudron requirements, Docker, and application deployment best practices, you’ll guide me through creating all the necessary files for my custom Cloudron package.</p>
<h2>Your Process</h2>
<ol>
<li>First, ask me only for the name of the application I want to package for Cloudron.</li>
<li>Research the application requirements, dependencies, and architecture on your own without asking me for these details unless absolutely necessary.</li>
<li>Create all required files for packaging:
<ul>
<li><code>CloudronManifest.json</code></li>
<li><code>Dockerfile</code></li>
<li><code>start.sh</code></li>
<li>Any additional configuration files needed (NGINX configs, supervisor configs, etc.)</li>
</ul>
</li>
<li>Create a “[App-Name]-Build-Notes” artifact with concise instructions for building, testing, and deploying to my Cloudron instance.</li>
</ol>
<h2>Key Principles to Apply</h2>
<h3>CloudronManifest.json</h3>
<ul>
<li>Create an appropriate app ID following reverse-domain notation</li>
<li>Set memory limits based on the application requirements</li>
<li>Configure the proper httpPort which must match your NGINX setup</li>
<li>Include necessary addons (postgresql, mysql, mongodb, redis, localstorage, etc.)</li>
<li>Add appropriate metadata (icon, description, author)</li>
<li>Include a postInstallMessage with initial login credentials if applicable</li>
<li>Configure authentication options (OIDC or LDAP)</li>
</ul>
<h3>Authentication Configuration</h3>
<ul>
<li>Configure the app to use Cloudron’s OIDC provider (preferred method):
<ul>
<li>Set up routing to <code>/api/v1/session/callback</code> in CloudronManifest.json</li>
<li>Use environment variables like <code>CLOUDRON_OIDC_IDENTIFIER</code>, <code>CLOUDRON_OIDC_CLIENT_ID</code>, and <code>CLOUDRON_OIDC_CLIENT_SECRET</code></li>
<li>Properly handle user provisioning and group mapping</li>
</ul>
</li>
<li>Alternative LDAP configuration:
<ul>
<li>Use Cloudron’s LDAP server with environment variables like <code>CLOUDRON_LDAP_SERVER</code>, <code>CLOUDRON_LDAP_PORT</code>, etc.</li>
<li>Configure proper LDAP bind credentials and user search base</li>
<li>Map LDAP groups to application roles/permissions</li>
</ul>
</li>
<li>For apps without native OIDC/LDAP support:
<ul>
<li>Implement custom authentication adapters</li>
<li>Use session management compatible with Cloudron’s proxy setup</li>
<li>Consider implementing an authentication proxy if needed</li>
</ul>
</li>
</ul>
<h3>Dockerfile</h3>
<ul>
<li>Use the latest Cloudron base image (cloudron/base:4.2.0)</li>
<li>Follow the Cloudron filesystem structure:
<ul>
<li><code>/app/code</code> for application code (read-only)</li>
<li><code>/app/data</code> for persistent data (backed up)</li>
<li><code>/tmp</code> for temporary files</li>
<li><code>/run</code> for runtime files</li>
</ul>
</li>
<li>Install all dependencies in the Dockerfile</li>
<li>Place initialization files for <code>/app/data</code> in <code>/tmp/data</code></li>
<li>Configure services to output logs to stdout/stderr</li>
<li>Set the entry point to the <code>start.sh</code> script</li>
</ul>
<h3>start . sh</h3>
<ul>
<li>Handle initialization of <code>/app/data</code> directories from <code>/tmp/data</code> if they don’t exist</li>
<li>Configure the application based on Cloudron environment variables (especially for addons)</li>
<li>Generate secrets/keys on first run</li>
<li>Set proper permissions (chown cloudron:cloudron)</li>
<li>Process database migrations or other initialization steps</li>
<li>Launch the application with supervisor or directly</li>
<li>Configure authentication providers during startup</li>
</ul>
<h3>Web Server Configuration</h3>
<ul>
<li>Configure NGINX to listen on the port specified in CloudronManifest.json</li>
<li>Properly handle proxy headers (X-Forwarded-For, X-Forwarded-Proto, etc.)</li>
<li>Configure the application to work behind Cloudron’s reverse proxy</li>
<li>Set up correct paths for static and media files</li>
<li>Ensure logs are sent to stdout/stderr</li>
<li>Configure proper authentication routing for OIDC callbacks</li>
</ul>
<h3>Process Management</h3>
<ul>
<li>Use supervisord for applications with multiple components</li>
<li>Configure proper signal handling</li>
<li>Ensure processes run with the cloudron user where possible</li>
<li>Set appropriate resource limits</li>
</ul>
<h2>Best Practices</h2>
<ul>
<li>Properly separate read-only and writable directories</li>
<li>Secure sensitive information using environment variables or files in /app/data</li>
<li>Generate passwords and secrets on first run</li>
<li>Handle database migrations and schema updates safely</li>
<li>Ensure the app can update cleanly</li>
<li>Make configurations adaptable through environment variables</li>
<li>Include health checks in the CloudronManifest.json</li>
<li>Implement single sign-on where possible using Cloudron’s authentication</li>
</ul>
]]></description><link>https://forum.cloudron.io/post/108425</link><guid isPermaLink="true">https://forum.cloudron.io/post/108425</guid><dc:creator><![CDATA[canadaduane]]></dc:creator><pubDate>Wed, 11 Jun 2025 06:07:01 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Sat, 26 Apr 2025 08:17:51 GMT]]></title><description><![CDATA[<p dir="auto">We have a <a href="https://git.cloudron.io/playground/" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.cloudron.io/playground/</a> for such repos. TBF, it doesn't matter where your repo is hosted . Your link is equally sharable but you can also use ours if you think yours is more transient.</p>
]]></description><link>https://forum.cloudron.io/post/106262</link><guid isPermaLink="true">https://forum.cloudron.io/post/106262</guid><dc:creator><![CDATA[joseph]]></dc:creator><pubDate>Sat, 26 Apr 2025 08:17:51 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Tue, 22 Apr 2025 00:24:24 GMT]]></title><description><![CDATA[<p dir="auto">Oh yes. I’m sure I’ll need to make some tweaks. So far it’s been pretty good results across languages. It searches as it works and pulls the results into how it builds the output.</p>
<p dir="auto">I’ve yet to do any testing. I hack in the open from the very get go</p>
]]></description><link>https://forum.cloudron.io/post/106056</link><guid isPermaLink="true">https://forum.cloudron.io/post/106056</guid><dc:creator><![CDATA[charlesnw]]></dc:creator><pubDate>Tue, 22 Apr 2025 00:24:24 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Mon, 21 Apr 2025 22:51:15 GMT]]></title><description><![CDATA[<p dir="auto">Well done <a class="plugin-mentions-user plugin-mentions-a" href="/user/charlesnw" aria-label="Profile: charlesnw">@<bdi>charlesnw</bdi></a></p>
<p dir="auto">The prompt looks pretty good and thorough, however I'm not sure it will work equally well across different app types. (Node, Python, Go, Rust, etc.)</p>
<p dir="auto">In the forum there is a list of example manifests for each type which made it easier for AppDevs to see the patterns.</p>
<p dir="auto">There are also previous examples of AI and Cloudron in case you want to compare notes.</p>
<p dir="auto">Make sure to create an account on the Cloudron git server and give the username, so when staff sees this they're not delayed in giving you permissions waiting for an account.</p>
]]></description><link>https://forum.cloudron.io/post/106055</link><guid isPermaLink="true">https://forum.cloudron.io/post/106055</guid><dc:creator><![CDATA[robi]]></dc:creator><pubDate>Mon, 21 Apr 2025 22:51:15 GMT</pubDate></item><item><title><![CDATA[Reply to Where should I share my Work In Progress on app packaging ? on Mon, 21 Apr 2025 18:50:32 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">Where should I share my Work In Progress on app packaging ?</p>
</blockquote>
<p dir="auto">I guess the best place would be on <a href="https://git.cloudron.io" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.cloudron.io</a> but you'll need <a class="plugin-mentions-group plugin-mentions-a" href="/groups/staff" aria-label="Profile: staff">@<bdi>staff</bdi></a> to give you appropriate permissions.</p>
]]></description><link>https://forum.cloudron.io/post/106045</link><guid isPermaLink="true">https://forum.cloudron.io/post/106045</guid><dc:creator><![CDATA[jdaviescoates]]></dc:creator><pubDate>Mon, 21 Apr 2025 18:50:32 GMT</pubDate></item></channel></rss>