<?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[Jupyter Notebook Support]]></title><description><![CDATA[<p dir="auto">I'd like to have jupyter notebook support baked into the container image shipped by Cloudron. I can get it working as-is, but I'd really prefer the jupyter python code be shipped in the read-only filesystem and also updated whenever the gitea app is updated.</p>
<p dir="auto">Gitea has some good docs on how to do this:</p>
<p dir="auto"><a href="https://docs.gitea.io/en-us/external-renderers/#installing-external-binaries" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.gitea.io/en-us/external-renderers/#installing-external-binaries</a></p>
<p dir="auto">I was able to get this working on my existing instance by:</p>
<pre><code class="language-shell">mkdir /app/data/python_packages
cd /app/data/python_packages
python3 -m virtualenv .
source bin/activate
pip3 install jupyter
</code></pre>
<p dir="auto">And then adding the following to my <code>/app/data/app.ini</code> file:</p>
<pre><code class="language-toml">[markup.jupyter]
ENABLED = true
FILE_EXTENSIONS = .ipynb
RENDER_COMMAND = "/app/data/python_packages/bin/jupyter nbconvert --stdin --stdout --to html --template basic"
IS_INPUT_FILE = false

[markup.sanitizer.jupyter.img]
ALLOW_DATA_URI_IMAGES = true
</code></pre>
<p dir="auto">I think all you'd have to add to the <code>Dockerfile</code> is something like:</p>
<pre><code class="language-dockerfile">RUN pip3 install jupyter
</code></pre>
<p dir="auto">And then make the changes to the app.ini.template (without the path prefix on the render command, since it would be in the path now).</p>
<hr />
<p dir="auto">I'd be happy to submit and test a pull request against the repository if that would be easiest.</p>
<p dir="auto">While at it...could probably also add pandoc so that we can add our own custom markup types for anything pandoc supports.</p>
]]></description><link>https://forum.cloudron.io/topic/6109/jupyter-notebook-support</link><generator>RSS for Node</generator><lastBuildDate>Tue, 10 Mar 2026 16:10:26 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/6109.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Dec 2021 03:13:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Jupyter Notebook Support on Fri, 03 Dec 2021 18:30:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ocelotsloth" aria-label="Profile: ocelotsloth">@<bdi>ocelotsloth</bdi></a> thanks, merged! will publish shortly.</p>
]]></description><link>https://forum.cloudron.io/post/40095</link><guid isPermaLink="true">https://forum.cloudron.io/post/40095</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Fri, 03 Dec 2021 18:30:14 GMT</pubDate></item><item><title><![CDATA[Reply to Jupyter Notebook Support on Fri, 03 Dec 2021 03:12:49 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> ok merge request here: <a href="https://git.cloudron.io/cloudron/gitea-app/-/merge_requests/6" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.cloudron.io/cloudron/gitea-app/-/merge_requests/6</a></p>
<p dir="auto">This app install is running that code: <a href="https://testgitea.markstenglein.com/ocelotsloth/test/src/branch/master/test.ipynb" target="_blank" rel="noopener noreferrer nofollow ugc">https://testgitea.markstenglein.com/ocelotsloth/test/src/branch/master/test.ipynb</a></p>
]]></description><link>https://forum.cloudron.io/post/40066</link><guid isPermaLink="true">https://forum.cloudron.io/post/40066</guid><dc:creator><![CDATA[ocelotsloth]]></dc:creator><pubDate>Fri, 03 Dec 2021 03:12:49 GMT</pubDate></item><item><title><![CDATA[Reply to Jupyter Notebook Support on Thu, 02 Dec 2021 06:02:45 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ocelotsloth" aria-label="Profile: ocelotsloth">@<bdi>ocelotsloth</bdi></a> done! you should have permissions to create many repos now.</p>
]]></description><link>https://forum.cloudron.io/post/40031</link><guid isPermaLink="true">https://forum.cloudron.io/post/40031</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Thu, 02 Dec 2021 06:02:45 GMT</pubDate></item><item><title><![CDATA[Reply to Jupyter Notebook Support on Thu, 02 Dec 2021 05:49: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> looks like I need permissions to create at least 1 repository in order to do that.</p>
<p dir="auto">If you can make that change for me I'll work on this tomorrow night.</p>
]]></description><link>https://forum.cloudron.io/post/40030</link><guid isPermaLink="true">https://forum.cloudron.io/post/40030</guid><dc:creator><![CDATA[ocelotsloth]]></dc:creator><pubDate>Thu, 02 Dec 2021 05:49:53 GMT</pubDate></item><item><title><![CDATA[Reply to Jupyter Notebook Support on Thu, 02 Dec 2021 05:26:04 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/ocelotsloth" aria-label="Profile: ocelotsloth">@<bdi>ocelotsloth</bdi></a> yes, please, if you create a PR, we can get it merged. The repo is at <a href="https://git.cloudron.io/cloudron/gitea-app" target="_blank" rel="noopener noreferrer nofollow ugc">https://git.cloudron.io/cloudron/gitea-app</a></p>
]]></description><link>https://forum.cloudron.io/post/40027</link><guid isPermaLink="true">https://forum.cloudron.io/post/40027</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Thu, 02 Dec 2021 05:26:04 GMT</pubDate></item></channel></rss>