-- Leo's gemini proxy

-- Connecting to bbs.geminispace.org:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; charset=utf-8

Recommended Gemini server


Hi, I’ll be migrating my server to bigger machine, and I want to use Debian. The problem is that I don’t see any Gemini server packaged in official repositories, so I might choose any, and got lost in the process. Can anyone point me which Gemini servers meet my wishlist and will be best choice? Currently I’m using Stargazer, simply because it was available in Alpine Linux repositories.


My wishlist:

some kind of CGI/SCGI/FastCGI support, as I want to write some cool app in future

easily sandboxed by systemd’s file system permissions and runnable as unprivileged user

minimal dependencies and easy installation, as I’ll need to install it without official package, so I would prefer something made in Go, Rust or Python as I might get lost with other tools…


Posted in: s/Gemini

🚲 Aelspire

Jan 22 · 4 months ago


11 Comments ↓


🍀 gritty · Jan 22 at 11:25:

I think skyjake's Gmcapsule meets most of those. runs in python. plain CGI. supports Titan.


Molly brown and jetforce are worth a look as well. molly brown supports scgi.


🖥️ zetamacs · Jan 22 at 14:57:

I think @gritty covered all the bases.


I hope to have a server in due time that also meets all those qualifications, written in Elixir. But alas, that's a promissory note at this point. ;)


🚲 Aelspire [OP] · Jan 22 at 15:26:

@gritty Thanks for suggestion! GmCapsule seems interesting and only one python package is required: pyOpenSSL which seems available in Debian repositories. I like the idea of python modules without requiring CGI. At this point it seems like @skyjake will provide both my client and server, so thanks @skyjake ;)


@zetamacs I’ve heard about Elixir but never checked this topic so I know nothing about this language, but I hope you will have a lot of fun with this project.


🐝 Addison · Jan 22 at 18:37:

Good suggestions so far. I'll throw MoonGem into the mix.


It doesn't have CGI, but it has inline Lua scripting akin to what PHP does. It's easy to build with CMake and doesn't have any unusual dependencies. It runs in sandboxed systemd just fine, and will refuse to run as root.


— https://git.panda-roux.dev/MoonGem/about/


🚀 ibannieto · Jan 22 at 18:47:

gmid is a very good gemini server, with CGI support, minimal dependencies and easy to config.

— https://github.com/omar-polo/gmid


💀 LANcoSCH · Jan 22 at 19:45:

If you like go and build your own stuff checkout this net/http style module. Supports titan as well, with the example you can implement anything.

— https://github.com/kulak/gemini


🐙 norayr · Jan 23 at 11:54:

i was using molly brown, because it is written in go. it supports cgi. but then i wanted virtual hosts and, most importantly, reverse proxy, and i realized i need to use gmid. so i switched to gmid.


i think you need to build your server by hand from the source code anyway.


🚲 Aelspire [OP] · Jan 24 at 09:00:

@Addison I’m not very keen of Lua I don’t remember much but I’ve used awesome WM in the past and remember Lua having some quirks like indexes in array starting from 1.


@ibannieto and @norayr I’ve used gmid in the past and remember it doing chroot so, it will probably require privileged user. I’m not sure about it, though.


Thanks for suggestions! I’ve decided to go with GmCapsule as I think Python is good match for my use case and skills, code of this server is super easy to understand, and migration was almost painless.


💀 eriounious · May 08 at 19:16:

I have written my own, which fits all your requirements except the choice of language. I don't have it publicly published since I'm a little self-conscious about my code, but I'll share it if you'd like. Just message me if you would like it. (It also handles Titan, if that's something you would like.)


The only problem is that it is written in C. But it is small, fast, and very light on resources. The only dependency is OpenSSL (which you almost certainly already have installed). And it is quite easy to compile; I can provide you a script to do that.


📡 byte · May 08 at 19:27:

i used this one - https://sr.ht/~int80h/gemserv/ though it's a bit outdated, and i'm working on the fork since forever i think :D


🚲 Aelspire [OP] · May 09 at 11:43:

Thanks @eriounious and @byte. But I've already installed GmCapsule and I've used it for months without problems. So, I prefer not touching something that is working without compelling reason to do so. But somebody else might be interested in this thread.

-- Response ended

-- Page fetched on Sun May 19 16:59:56 2024