Gemini Protocol Galore

I’ve been diving a little bit into gemini :rocket:, the protocol that Fab talked about in EP 69 of The Private Citizen: The Private Citizen

First a little more technical introduction and a 101 guide:

Then Fab expressed some interest in having a way to use hugo content with Gemini, luckily somebody wrote 3 golang tools for that:

Lastly I had to so a little more hacky scripting to mirror my own blog to gemini, because of course I made some decisions for backwards compatibility, slugs, method of deployment and framework choice that required a bit of work :upside_down_face:

It’s pretty niche, so it was pretty nice subject to write on, but I hope it’ll be useful for people to populate the protocol a bit more, because it’s honestly very slim to deploy since you have cheap transformation steps and hosting efforts.

Have any of you given gemini a go or a client installed? Still hunting for a better Android client than deedum. \o/

3 Likes

Thanks for posting this, Jonathan!

When I read it, I’d at first decided to not pursue my Gemini blog project any further, because I had originally switched to Netlify to simplify my web presence to one hosting provider. But then I saw how amazing your Gemini capsule looks…

And now I kinda want to try your approach. So I have a few questions…

To start off: Let’s say I go with fly.io and set up a Docker instance there that serves the Gemini capsule. How do I get that to automatically publish new posts once they get deployed from my Hugo blog? Presumably, I would have to have it pull the changed files from GitHub via the commit that also triggers Hugo at Netlify?

Let’s say I go with fly.io and set up a Docker instance there that serves the Gemini capsule. How do I get that to automatically publish new posts once they get deployed from my Hugo blog?

I’d probably use a github action, mine is not automatic at the moment either, but that’s figure-outable I’d say. There’s an importable thing for flyctl, so you only have to pass it the secret key: GitHub Action for flyctl · Actions · GitHub Marketplace · GitHub

This will work with just he one repository as well \o/

Presumably, I would have to have it pull the changed files from GitHub via the commit that also triggers Hugo at Netlify?

The actions on repository events work either via apps or github actions that can run when something happens, so we’d be interested in “merge to branch main” happens on your hugo repository: Triggering a workflow - GitHub Docs

and then use the flyctl to push to your fly server.

Still TODO:

  • mounting a small volume (10mb would be enough) on fly.io so we don’t regenerate certificates on each build

Ah cool! I think that actually gets me somewhere. I will try to play with this next week. I’m pretty busy with other things right now. Visiting submarines and such… :grin:

1 Like