💾 Archived View for carcosa.net › germinal captured on 2020-09-24 at 00:43:11. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Germinal is a server for the Gemini Protocol written in Common Lisp.
It is named after the early 20th century Yiddish-language anarchist newspaper Germinal. 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.
The source is available on my self-hosted git forge.
This is still a bit of a hack, and if you don't have a working Common Lisp development environment, you will probably have trouble getting it running. The included `build.sh` will build a single executable, but unfortunately it depends on a shared library that will be somewhere in your ~/.cache folder...
You also need to generate a self-signed cert and key, or use a pair from LetsEncrypt, or similar. The path to the keys need to be specified in the config file, which by default is in /etc/gemini/config.toml. You can generate the cert like this:
openssl req -new > cert.csr openssl rsa -in privkey.pem -out key.pem openssl x509 -in cert.csr -out cert.pem -req -signkey key.pem -days 1001 cat key.pem>>cert.pem
Run `germinal`. It will listen on port 1965 on all interfaces, and serve content from `/var/gemini/`. It will only serve world-readable files, regardless of what user it is running as.