geml/README.md

55 lines
1.2 KiB
Markdown
Raw Normal View History

2023-08-01 13:34:38 +00:00
# geml
Gemini server written in Common Lisp
## /etc/geml/geml.ini
2023-08-02 08:00:59 +00:00
geml will have nothing to serve until you configure at least one domain and
root.
2023-08-01 13:34:38 +00:00
```
[my.gmi.capsule]
root = /srv/gmi
```
2023-08-14 00:28:46 +00:00
**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.
2023-08-01 13:34:38 +00:00
## Usage
2023-08-01 20:14:16 +00:00
To get an executable `bin/geml-server` run `make`.
2023-08-01 13:34:38 +00:00
2023-08-01 20:14:16 +00:00
```sh
make && bin/geml-server -h
2023-08-01 13:34:38 +00:00
```
2023-08-01 20:14:16 +00:00
### Systemd
2023-08-02 08:00:59 +00:00
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`
2023-08-01 13:34:38 +00:00
2023-08-01 20:14:16 +00:00
You'll need to `sudo systemctl restart geml` whenever you update
`/etc/geml/geml.ini`... you did do that didn't you?
2023-08-02 08:00:59 +00:00
```sh
sudo cp /etc/geml/geml.example.ini /etc/geml/geml.ini
```
2023-08-01 20:14:16 +00:00
2023-08-02 08:00:59 +00:00
`make install` also sets up a geml system user and you may want to add yourself
to that group.
2023-08-01 17:11:57 +00:00
```sh
2023-08-02 08:00:59 +00:00
usermod -a -G geml $USER
2023-08-01 17:11:57 +00:00
```
2023-08-01 13:43:09 +00:00
2023-08-02 08:00:59 +00:00
### yeet it
2023-08-01 20:14:16 +00:00
2023-08-02 08:00:59 +00:00
To undo all that run these:
2023-08-01 13:43:09 +00:00
2023-08-02 08:00:59 +00:00
```sh
sudo make uninstall
make clean
2023-08-01 20:14:16 +00:00
```
2023-08-02 08:00:59 +00:00
**NOTE**: The automatically created TLS certs will still be at `/var/lib/geml`
you can (re)use those elsewhere or also just delete them.