# Germinal, a Gemini server
June 27, 2019 ยท 1 minute read
Posted in: gemini germinal gopher web lisp
Germinal is a server for the [Gemini Protocol][0] that I've been writing in
Common Lisp during my lunches and some evenings.
[0]:
gopher://zaibatsu.circumlunar.space/1/~solderpunk/gemini
It is named after the early 20th century Yiddish-language anarchist
newspaper [Germinal][1]. I wanted to name it after an anarchist publication to
convey the idea of people sharing information and ideas with each other, in
contrast to the way the web is used to push advertising from corporations to
people. And it happened that Germinal shares some sounds with Gemini.
[1]:
https://en.wikipedia.org/wiki/Germinal_(journal)
### Features
#### Current
* Serves any type of document with an appropriate mime type.
* Serves .gmi files as text/gemini, the gemini mapfile format.
* Serves index.gml as a directory listing, if it exists
* Serves a simple directory listing for directories without index.gml
* Serves only world-readable content, much like [Gophernicus][2].
[2]:
http://www.gophernicus.org/
#### Planned
* Configuration by environment variables, command-line, or config file
* Keep up to date with protocol changes
#### Maybe
* authentication by client certificate
### Download
The source is currently available on Github, though I hope to move my
projects onto a self-hosted forge at some point.
[Germinal on github](
https://github.com/jfmcbrayer/germinal)
### Live server
I am also running Germinal, and I believe the [server I'm running it on][3] is
the world's third Gemini server. There's not much now, but I plan to add more
gradually and continue discussing Germinal development there.
[3]: gemini://carcosa.net/