Comparing Gemini servers

This is a practical overview of common self-hosted Gemini server options as of 2026. It is not exhaustive — it covers the servers most commonly mentioned in Geminispace.

All of these are open source and run on Linux. Most also work on BSD and macOS.

Quick reference

---

Agate

Written in Rust. The most commonly recommended server for new self-hosters.

Strengths:

Limitations:

Typical startup:

Agate serves everything under --content as static files. Subdirectories map to URL paths.

---

Molly Brown

Written in Go. More configurable than Agate, with support for CGI and virtual hosting.

Strengths:

Configuration is a TOML file. A minimal example:

A good step up from Agate once you need more control.

---

gmid

Written in C. Minimal and fast, with CGI and SCGI support.

Strengths:

Configuration uses a block syntax. A basic server block:

Multiple server blocks in the same config file handle virtual hosting. Each block gets its own hostname, certificate, and content root.

Good choice if you want low overhead or are comfortable with C-style config files.

---

Jetforce

Written in Python. Less a static file server, more a framework for building dynamic Gemini applications.

Strengths:

If you want to serve static files, Agate or gmid are simpler. Jetforce shines when the capsule itself is mostly dynamic content.

---

gmnisrv

Written in C. Minimal static file server, simple config.

Strengths:

Limitations:

A reasonable choice for simple static capsules where you prefer C software.

---

Which to choose

Starting out and want something that just works: Agate.

Need CGI or virtual hosting and prefer Go: Molly Brown.

Need CGI or virtual hosting and prefer C / want minimal footprint: gmid.

Building a dynamic Gemini app in Python: Jetforce.

All of them serve .gmi files correctly. The differences matter most once you need CGI, virtual hosting, or fine-grained access control.

Next: virtual hosting

Next: CGI and dynamic content

Back to operating index

Last reviewed: 2026-04-07

Corrections welcome: smdocs@pm.me