Trying to package Agate - A Gemini server
-
This is my first foray into Cloudron app packaging, please be kind
I decided to try and package Agate which is a simple Gemini server.
I've published the repo and the image online.
Agate listens on port
1950
which is a standard Gemini port so I used Caddy to respond to Cloudron's health check and I added a tcpPort in the manifest for port 1950.Running the docker imager locally (without Cloudron) seems to work ok. I map
/app/data
to a local folder, defineCLOUDRON_APP_DOMAIN
to 'localhost' and map ports80
and1950
to my local host. I can then see the response on port 80 and the Gemini page when browsing localhost with Lagrange.When installing the image on my test server the http port works fine and serves the http response but port 1950 doesn't seem to be forwarded to the container when browsing with Lagrange.
Anything obvious I'm getting wrong here?
-
Oh man... I found the bonehead mistake causing this... The gemini port is
1965
not1950
After letting everything happily propagate, I now have a gemini server running on my test Cloudron at
gemini://test.malenfant.dev
... YAY!I'm going to play with it for a bit. If someone with more experience than me could sanity check the
Dockerfile
,CloudronManifest.json
andstart.sh
to make sure I'm not doing anything stupid then I can make this a 1.0.0 version. -
@DidierMalenfant well done !
It's great to have more developers, and more people scratching their itches on something that might might never make it into the appstore but nevertheless is valuable to have.I'm curious - what is your use for Gemini ?
-
@DidierMalenfant hey, works for me !
I download the repo, built docker image from scratch, pushed to my repo, and installed in my cloudron.
No errors, up and running !I haven't done a code review of Dockerfile as I'm not familiar with some technologies like Caddy (didn't know you could install Caddy on a cloudron image!).
-
I'm not convinced by terminal browsing - early trauma
- was it Lynx in them bad old days ?
But I'm totally on board with lightweight browsing, and avoiding the bloat of the modern browser world is a clear winner (IMHO). The world is GUI (except dev tasks) so providing it a site looks good, clear and presentable, bring it on.
Using Lagrange as gemini client, seems to work well -
I use Lagrange too. My main capsule (as they are known) is at gemini://gemini.malenfant.net
To answer your question, it's a bit of a throwback to simpler times. I post different things on my gemini site sometimes, the crowd reading it is different too. A bit like Twitter vs Mastodon kinda thing.
-
Just updated the app to
0.2.0
.- added some user-modifiable information about gemini when the app is accessed on the HTTP port
- user can now set a different port for the gemini server if they want
- removed an unnecessary mkdir in the Dockerfile
I'm going to dogfood it on my own server for a bit and then if everything looks good I will look into posting it to the App Store here.