<?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[Passing the Healthcheck on custom app]]></title><description><![CDATA[<p dir="auto"><strong>In brief :</strong><br />
I am attempting to package a custom app which initially is a processor app with no webpage interface.  It waits for files in directories under /app/data and processes them.<br />
So there is nothing to return a 2xxx to the Healthcheck.<br />
So it never passes and the app never reaches Running status, although it does work to process files as required.</p>
<p dir="auto"><strong>Question :</strong><br />
How can I 'frig' a 2xx response?<br />
I stuck a hello world index.html in app/data/public but seems this is not enough.</p>
<p dir="auto"><strong>A bit more detail :</strong><br />
I write various documents like presentations &amp; proposals in Markdown and then process this with <code>pandoc</code> and a bespoke <code>eisvogel.latex</code> layout template for a beautiful PDF (well, in my opinion anyway).<br />
Problem is I need to replicate this command line setup on every device I work on (2 laptops, 3 desktops, 3 locations, 2 countries) and it's a pain to share this setup as a production environment with others so they can produce their own docs in similar format.<br />
My plan is to set up a Cloudron app which has the pandoc setup.  Then I and others just upload a doc like <code>proposal.md</code> to get a beautiful <code>proposal.pdf</code>.</p>
<p dir="auto">I guess the real answer to my question is to build a front-end providing a browser interface for uploading and downloading files.  That should return the 2xx response needed.  But I can't get my head around how to build that interface at the moment.  So was hoping to build the app as 'alpha' without the front-end.<br />
Any advice to frig the 2xx response temporarily or how to find some example upload/download interface would be most appreciated.</p>
]]></description><link>https://forum.cloudron.io/topic/6378/passing-the-healthcheck-on-custom-app</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 16:33:36 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/6378.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 Jan 2022 11:11:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Sat, 29 Jan 2022 14:48:23 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/nebulon" aria-label="Profile: nebulon">@<bdi>nebulon</bdi></a> thank you, will move the repo over</p>
]]></description><link>https://forum.cloudron.io/post/42569</link><guid isPermaLink="true">https://forum.cloudron.io/post/42569</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Sat, 29 Jan 2022 14:48:23 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Sat, 29 Jan 2022 13:52:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> said in <a href="/post/42551">Passing the Healthcheck on custom app</a>:</p>
<blockquote>
<p dir="auto">Is creating projects on <a href="http://git.cloudron.io" target="_blank" rel="noopener noreferrer nofollow ugc">git.cloudron.io</a> restricted ?</p>
</blockquote>
<p dir="auto">yes by default we limit new accounts to avoid spam. I have granted your gitlab account now more privileges to create projects.</p>
]]></description><link>https://forum.cloudron.io/post/42563</link><guid isPermaLink="true">https://forum.cloudron.io/post/42563</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Sat, 29 Jan 2022 13:52:20 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Sat, 29 Jan 2022 12:46:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> oooops, appears to be an issue when downloading.<br />
Will fix that and advise<br />
EDIT : there <em><strong>appears</strong></em> to be a problem downloading on first run.  But it works on subsequent runs.  For now, just press back in browser, return home, and run again if error screen appears.  Will investigate further, but basically working with this work-around.  May be an issue if processing a large document, may need some some onFinish type statements somewhere.</p>
]]></description><link>https://forum.cloudron.io/post/42562</link><guid isPermaLink="true">https://forum.cloudron.io/post/42562</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Sat, 29 Jan 2022 12:46:28 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Sat, 29 Jan 2022 20:28:13 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> I have created a public repository at ~~<a href="https://git.firstoption.com/timconsidine/Cloudron-Pandoc-PDF-Builder~~" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.firstoption.com/timconsidine/Cloudron-Pandoc-PDF-Builder~~</a></p>
<p dir="auto"><a href="https://git.cloudron.io/timconsidine/cloudron-pandoc-pdf-builder/" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.cloudron.io/timconsidine/cloudron-pandoc-pdf-builder/</a></p>
<p dir="auto">Feel free to use.<br />
Let me know any errors or issues.</p>
<p dir="auto">I will look into making it a node express project later.</p>
]]></description><link>https://forum.cloudron.io/post/42561</link><guid isPermaLink="true">https://forum.cloudron.io/post/42561</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Sat, 29 Jan 2022 20:28:13 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Fri, 28 Jan 2022 20:43:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/nebulon" aria-label="Profile: nebulon">@<bdi>nebulon</bdi></a> said in <a href="/post/42469">Passing the Healthcheck on custom app</a>:</p>
<blockquote>
<p dir="auto">if you push your current code to some public repository</p>
</blockquote>
<p dir="auto">I have solved the problems I was encountering. Phew.<br />
Now in a basic working state.  Not pretty but functional.</p>
<p dir="auto">I will share in case it can be useful to others or there is advice on how to do it better.</p>
<p dir="auto">I tried to create a project on <a href="https://git.cloudron.io" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.cloudron.io</a> to upload<br />
But I got <code>invalid namespace</code><br />
Is creating projects on <a href="http://git.cloudron.io" target="_blank" rel="noopener noreferrer nofollow ugc">git.cloudron.io</a> restricted ?</p>
]]></description><link>https://forum.cloudron.io/post/42551</link><guid isPermaLink="true">https://forum.cloudron.io/post/42551</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Fri, 28 Jan 2022 20:43:03 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Fri, 28 Jan 2022 20:43:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/nebulon" aria-label="Profile: nebulon">@<bdi>nebulon</bdi></a> said in <a href="/post/42472">Passing the Healthcheck on custom app</a>:</p>
<blockquote>
<p dir="auto">the expressjs framework is usually a solid option to be used</p>
</blockquote>
<p dir="auto">Express looks good but I will learn this another day.  I had already gone down a "manual code" direction, and didn't want to re-do it.  I will probably produce a new version with Express later.</p>
]]></description><link>https://forum.cloudron.io/post/42550</link><guid isPermaLink="true">https://forum.cloudron.io/post/42550</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Fri, 28 Jan 2022 20:43:26 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Wed, 26 Jan 2022 15:11:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> may not be required, but the <a href="http://expressjs.com/" target="_blank" rel="noopener noreferrer nofollow ugc">expressjs</a> framework is usually a solid option to be used. Cloudron itself and also surfer and the likes use that.</p>
]]></description><link>https://forum.cloudron.io/post/42472</link><guid isPermaLink="true">https://forum.cloudron.io/post/42472</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Wed, 26 Jan 2022 15:11:00 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Wed, 26 Jan 2022 15:09:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/nebulon" aria-label="Profile: nebulon">@<bdi>nebulon</bdi></a> will do, good idea.</p>
]]></description><link>https://forum.cloudron.io/post/42471</link><guid isPermaLink="true">https://forum.cloudron.io/post/42471</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Wed, 26 Jan 2022 15:09:17 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Wed, 26 Jan 2022 15:08:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> might be easier, if you push your current code to some public repository or so, to better guide you.</p>
]]></description><link>https://forum.cloudron.io/post/42469</link><guid isPermaLink="true">https://forum.cloudron.io/post/42469</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Wed, 26 Jan 2022 15:08:05 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Wed, 26 Jan 2022 15:06:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/nebulon" aria-label="Profile: nebulon">@<bdi>nebulon</bdi></a> I decided to bite bullet and learn some basic node.js to build a basic web front-end.<br />
Works fine on my local machine using <code>node server.js</code>.<br />
But hangs when I build and install the image to Cloudron.<br />
Obviously down to me to debug what it doesn't like.<br />
I'm looking through some other Cloudron apps on <code>https://git.cloudron.io/explore</code> for clues and stuff to borrow.<br />
But a lot there.</p>
<ol>
<li>
<p dir="auto">Wondering if anyone has a suggestion for Cloudron app which has a more sophisticated, <strong>but not too sophisticated</strong>, example!!</p>
</li>
<li>
<p dir="auto">My basic example uses :<br />
// var url = require('url');<br />
// var fs = require('fs');<br />
// var formidable = require('formidable');<br />
They're listed in package.json or package-lock.json.<br />
Might those be causing a problem with the Cloudron install?</p>
</li>
</ol>
]]></description><link>https://forum.cloudron.io/post/42467</link><guid isPermaLink="true">https://forum.cloudron.io/post/42467</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Wed, 26 Jan 2022 15:06:08 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Tue, 25 Jan 2022 14:57:59 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/nebulon" aria-label="Profile: nebulon">@<bdi>nebulon</bdi></a> thank you</p>
]]></description><link>https://forum.cloudron.io/post/42382</link><guid isPermaLink="true">https://forum.cloudron.io/post/42382</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Tue, 25 Jan 2022 14:57:59 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Tue, 25 Jan 2022 13:07:17 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/timconsidine" aria-label="Profile: timconsidine">@<bdi>timconsidine</bdi></a> the LAMP app package would not allow you to run apt-get and install further packages in a persistent manner, however you could essentially fork the LAMP app package and start from there.</p>
]]></description><link>https://forum.cloudron.io/post/42371</link><guid isPermaLink="true">https://forum.cloudron.io/post/42371</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Tue, 25 Jan 2022 13:07:17 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Tue, 25 Jan 2022 12:42:52 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/nebulon" aria-label="Profile: nebulon">@<bdi>nebulon</bdi></a> yes indeed.<br />
Now I know what to do for basic response, all is cool.<br />
I'm not a programmer really, just know how to hack about.</p>
<p dir="auto">One thought, I'm kinda ok with PHP.<br />
Is there anything to prevent me installing <code>pandoc</code> into a LAMP app ?  It's basically :</p>
<pre><code>RUN apt-get -qq update &amp;&amp; \
    apt-get -qq -y install wget texlive-latex-base texlive-fonts-recommended &amp;&amp; \
    apt-get -qq -y install texlive-fonts-extra texlive-latex-extra &amp;&amp; \
    apt-get -qq -y install lmodern &amp;&amp; \
    apt-get clean

RUN wget https://github.com/jgm/pandoc/releases/download/${PANDOC_VERSION}/pandoc-${PANDOC_VERSION}-1-amd64.deb &amp;&amp; \
    dpkg -i pandoc* &amp;&amp; \
    rm pandoc* &amp;&amp; \
    apt-get clean
</code></pre>
<p dir="auto">I can do that manually maybe after installing LAMP and then build a web interface in PHP.  Vaguely within my skill set !<br />
Or maybe I should just get modern and learn about nodejs.</p>
]]></description><link>https://forum.cloudron.io/post/42370</link><guid isPermaLink="true">https://forum.cloudron.io/post/42370</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Tue, 25 Jan 2022 12:42:52 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Tue, 25 Jan 2022 12:32:35 GMT]]></title><description><![CDATA[<p dir="auto">Yes what <a class="plugin-mentions-user plugin-mentions-a" href="/user/hendrikvl" aria-label="Profile: hendrikvl">@<bdi>hendrikvl</bdi></a> suggested is correct. One reason also why Cloudron apps are essentially required to have something on http(s) is that the app will show up in the dashboard and when someone clicks on the app tile, it should go somewhere meaningful.</p>
<p dir="auto">I guess "worker" apps were simply not part of the current design and so far not really much asked for and it looks like even in your case, some rudimentary webinterface is wanted.</p>
]]></description><link>https://forum.cloudron.io/post/42366</link><guid isPermaLink="true">https://forum.cloudron.io/post/42366</guid><dc:creator><![CDATA[nebulon]]></dc:creator><pubDate>Tue, 25 Jan 2022 12:32:35 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Tue, 25 Jan 2022 12:25:27 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hendrikvl" aria-label="Profile: hendrikvl">@<bdi>hendrikvl</bdi></a> : great, that works !<br />
Integrated the tutorial-supervisor app with the custom app.<br />
It now passes the healthcheck <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f37e.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--champagne" style="height:23px;width:auto;vertical-align:middle" title=":champagne:" alt="🍾" /></p>
<p dir="auto">Now need to learn about supervisor and how to build an interface for source file upload and PDF download.  I'm just a <code>monkey see, monkey do</code> hacker.</p>
<p dir="auto">Thanks again <a class="plugin-mentions-user plugin-mentions-a" href="/user/hendrikvl" aria-label="Profile: hendrikvl">@<bdi>hendrikvl</bdi></a> !</p>
]]></description><link>https://forum.cloudron.io/post/42365</link><guid isPermaLink="true">https://forum.cloudron.io/post/42365</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Tue, 25 Jan 2022 12:25:27 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Tue, 25 Jan 2022 11:23:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/hendrikvl" aria-label="Profile: hendrikvl">@<bdi>hendrikvl</bdi></a> : brilliant thank you <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f44d.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--+1" style="height:23px;width:auto;vertical-align:middle" title=":+1:" alt="👍" /><br />
I know nothing about supervisor.<br />
But I guess a good opportunity to learn <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60a.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--blush" style="height:23px;width:auto;vertical-align:middle" title=":blush:" alt="😊" /></p>
]]></description><link>https://forum.cloudron.io/post/42362</link><guid isPermaLink="true">https://forum.cloudron.io/post/42362</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Tue, 25 Jan 2022 11:23:56 GMT</pubDate></item><item><title><![CDATA[Reply to Passing the Healthcheck on custom app on Tue, 25 Jan 2022 11:20:11 GMT]]></title><description><![CDATA[<p dir="auto">I had the same issue with a custom app I created. My solution was to include a webserver that runs in parallel via supervisord, although my custom app would not require it for its own functioning.<br />
A sample of what this could look like is in the supervisor demo-app: <a href="https://git.cloudron.io/cloudron/tutorial-supervisor-app/" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.cloudron.io/cloudron/tutorial-supervisor-app/</a><br />
The webserver in there only returns a static page with status code 200, which is all you need to pass the health-check.</p>
]]></description><link>https://forum.cloudron.io/post/42361</link><guid isPermaLink="true">https://forum.cloudron.io/post/42361</guid><dc:creator><![CDATA[hendrikvl]]></dc:creator><pubDate>Tue, 25 Jan 2022 11:20:11 GMT</pubDate></item></channel></rss>