Can I somehow "VPN" the two containers together then? Or would that proxy app have to reach the Outline app through the public internet?
walski
Posts
-
Put reverse-proxy in front of arbitrary apps -
Put reverse-proxy in front of arbitrary appsHey folks,
we've started using an install of the Outline app in our Cloudron to serve as a public facing knowledge base / help center for our company.
Outline is a great fit here as it offers public shares of nested documents that is pretty much exactly what we want. We just add one "root" document in that install, share that and the whole help center will be shared through that.
We are facing two problems now
- We want to avoid showing users an Outline login or anything similar in the help center
- We want e.g. the root URL (
/
) to point to that "root document" instead of Outlines regular home, which for logged out users would be a login form (see 1)
Our solution
What we did is to fork the Outline app, add multi-domain capabilities (that would be easy to upstream) and put NGinx in front of the app in the Docker image.
That Nginx now redirects the root url to the specific root document and also redirects all traffic to Outline's auth to the root url.
You can see the result at: https://hilfe.easy-review.de/ (German)
What the heck is this post about?!
Sorry for the long preface: What I want to know/discuss is: Is there a world in which we don't need to fork the app but could have some sort of minimal mechanism like a mini-Cloudflare-worker equivalent that allows us to customize an app install with some redirect routes?
Does Cloudron put a reverse-proxy in front of any app anyways? Maybe there could be a way to add custom pieces to that proxy's config to allow such redirects?
Thanks for anyone who as a good idea here and hope there is a path here to make Cloudron a tiny bit more awesome yet again
Thorben
-
Scraping Frequency does not workWorks now! thanks again
-
Scraping Frequency does not workI've updated the package and will report back in 24h Thanks for the quick reply and potential fix!
-
Scraping Frequency does not workI'm still seeing an error even on the latest package version:
Apr 22 02:00:00 ERROR Making SERP Scraper Cron Request.. Apr 22 02:00:00 TypeError: fetch failed Apr 22 02:00:00 at Object.fetch (node:internal/deps/undici/undici:11576:11) Apr 22 02:00:00 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { <30>1 2024-04-22T00:00:00Z v220191140145101068 9c696bd8-2809-48b5-85d5-15ac8597da82 152032 9c696bd8-2809-48b5-85d5-15ac8597da82 - cause: Error: getaddrinfo ENOTFOUND cloudron <30>1 2024-04-22T00:00:00Z v220191140145101068 9c696bd8-2809-48b5-85d5-15ac8597da82 152032 9c696bd8-2809-48b5-85d5-15ac8597da82 - at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:108:26) { <30>1 2024-04-22T00:00:00Z v220191140145101068 9c696bd8-2809-48b5-85d5-15ac8597da82 152032 9c696bd8-2809-48b5-85d5-15ac8597da82 - errno: -3008, Apr 22 02:00:00 code: 'ENOTFOUND', Apr 22 02:00:00 hostname: 'cloudron' Apr 22 02:00:00 syscall: 'getaddrinfo', Apr 22 02:00:00 } Apr 22 02:00:00 }
And the data does not get updated unless I hit the "Reload All Serps"-Button manually. The latter just works, so things are configured correctly.
-
Grist | The Evolution of SpreadsheetsYip, they released v1.1.9 on Dec 2nd. That release includes the pyodide fix to run Grist sandboxed within Cloudron, as well as their direct OIDC support (see docs: https://support.getgrist.com/install/oidc/#openid-connect).
I'm more than happy to incorporate these onto my branch and that should then give us a decent to maybe get it into the app store? I just can't promise a timeline right now
-
Grist | The Evolution of SpreadsheetsSide-note: Looks like direct OIDC support just landed on Grist's
main
https://github.com/gristlabs/grist-core/pull/717 -
Grist | The Evolution of SpreadsheetsOk turns out, that Grist releases after Sept. 11th come with a broken pyodide sandboxing layer (see https://github.com/gristlabs/grist-core/issues/734).
I got everything running using an earlier Grist release (1.1.4 from Sept 8th or so). Before this can be considered for the app store I need to polish the metadata, etc. But you should be able (we do) to install it to your Cloudron using the CLI.
Repo is here: https://git.cloudron.io/walski/grist-app
How little?
16GB RAM, 6 core AMD whatever virtual server. Currently running 13 apps through Cloudron.
-
Grist | The Evolution of SpreadsheetsI've a version of Grist running on our Cloudron as well. It's using OIDC through oauth2-proxy (https://oauth2-proxy.github.io/oauth2-proxy/) but needs a bit more polishing. E.g. I've disabled Grist's sandboxing, which I want to fix.
Word of warning: The performance so far is not mega great in my preliminary testing. Feels quite sluggish on our little box.
-
Outline - a Notion-like open source app@girish I've opened a merge request as I wasn't sure if I should just overwrite the existing app in that repo. That merge request does exactly that, complete replacement with the app I put together. I've kept the existing CI/CD config but nothing else.
-
Outline - a Notion-like open source app@girish I've DM'd you. You can also just clone the gist as a git repo: git@gist.github.com:e5d5b7ddb781f028b071b6ca12c460cd.git
-
Outline - a Notion-like open source appI've updated the packaged app to include a license, run the app as the
cloudron
user and also cleaned up the manifest a bit. Happy to help more if there is anything left to do -
Outline - a Notion-like open source appHey, I've put together an OIDC enabled Cloudron app here: https://gist.github.com/walski/e5d5b7ddb781f028b071b6ca12c460cd this runs just fine on our Cloudron Happy to make this "app-store-ready" if somebody can let me know what exactly that entails