home | changelog | contrib | guide | faq


A Gemini server

gmid is a full-featured Gemini server written with security in mind. It can serve static files, has an optional FastCGI and proxying support and a rich configuration syntax.

gmid also bundles a small gemini client called ‘gg’ (gemini get), a small command-line server for quick testing called ‘gemexp’ and a titan implementation.


Some distros provide a package — thanks to the maintainers!

Repology: packaging status for gmid

Otherwise, compile it from source: it’s easy and takes less than a minute on a raspberry pi 3

The dependencies are:

Once all the dependencies are installed, building is as easy as:

$ curl -LO https://ftp.omarpolo.com/gmid-2.0.5.tar.gz
$ tar xzvf gmid-2.0.5.tar.gz
$ cd gmid-2.0.5
$ ./configure
$ make
$ sudo make install # eventually

A SHA256 file is available. However, it only checks for accidental corruption. You can use signify (gmid-2.0.5.sha256.sig) and the public key gmid-2.0.pub to cryptographically verify the downloaded tarball. The signify public key for the previous and the next release is included in the tarball.

To verify the signatures with signify(1):

% signify -C -p gmid-2.0.pub -x gmid-2.0.5.sha256.sig
Signature Verified
gmid-2.0.5.tar.gz: OK

Git tags are signed with the following ssh key:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ0nD5I8BNVJknT87gnpLIJWK0fXTayDktQOlS38CGj4 op@omarpolo.com