Gemini server written in Common Lisp
Go to file
2023-08-14 22:50:36 -06:00
src connection handler-case 2023-08-14 22:50:36 -06:00
.editorconfig Makefile and -v flag 2023-08-01 13:41:08 -06:00
.gitignore unix-opts 2023-08-01 13:02:27 -06:00
build.lisp unix-opts 2023-08-01 13:02:27 -06:00
geml.asd give up on SNI for now 2023-08-13 18:28:46 -06:00
geml.example.ini add SAN... 2023-08-02 02:15:07 -06:00
geml.service add SAN... 2023-08-02 02:15:07 -06:00
LICENSE Create LICENSE 2021-11-14 10:29:50 -06:00
Makefile give up on SNI for now 2023-08-13 18:28:46 -06:00
packages.lisp build 2023-08-01 11:11:57 -06:00
README.md give up on SNI for now 2023-08-13 18:28:46 -06:00

geml

Gemini server written in Common Lisp

/etc/geml/geml.ini

geml will have nothing to serve until you configure at least one domain and root.

[my.gmi.capsule]
root = /srv/gmi

NOTE: Until Server Name Identification is achieved only the first domain you configure will work. Certificates will still be generated for other configured domains they will just be unreachable.

Usage

To get an executable bin/geml-server run make.

make && bin/geml-server -h

Systemd

To install the build to /usr/local/bin/geml-server use sudo make install which will also wire up systemd so you can sudo systemctl enable --now geml

You'll need to sudo systemctl restart geml whenever you update /etc/geml/geml.ini... you did do that didn't you?

sudo cp /etc/geml/geml.example.ini /etc/geml/geml.ini

make install also sets up a geml system user and you may want to add yourself to that group.

usermod -a -G geml $USER

yeet it

To undo all that run these:

sudo make uninstall
make clean

NOTE: The automatically created TLS certs will still be at /var/lib/geml you can (re)use those elsewhere or also just delete them.