# 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](./src/server.lisp) 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`. ```sh 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? ```sh 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. ```sh usermod -a -G geml $USER ``` ### yeet it To undo all that run these: ```sh 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.