Gemini Server
2e806d27 — Eric Bower 2 months ago
Rename docker config file path in README instructions
Set minimum TLS version to TLS 1.2
List scdoc as dependency



You can also use your local clone with git send-email.


Satellite is a small Gemini server for serving static files.



See satellite (1)


By default, Satellite uses /etc/satellite.toml, but a custom config file can be supplied with the -c flag.

#Example configuration

# Address to listen to requests (default:
listen = ""

# Directory to save certificates
directory = "/var/lib/gemini/certs"

# Multiple domains can be set with the [[domain]] section
name = "example.com"
root = "/srv/gemini/example.com"

name = "example2.com"
root = "/srv/gemini/example2.com"

The SSL certificate generation will be managed by Satellite and will be automatically regenerated on the certificate expiry date.

More information on satellite.toml(5)


It depends on OpenSSL, scdoc and Go to be installed. Consult your OS system package manager to learn more about it.

$ make
$ make install

This will install a sample configuration on /usr/local/share/satellite/satellite.toml that you can later copy to /etc/satellite.toml.

#Running with Docker

Build an image:

$ docker build -t satellite .

Create two directories to store certs/configuration and data served by satellite (Satellite runs under UID 1000, so we need to grant it RWX on the config dir), then run the container:

$ mkdir config
$ mkdir data
$ cat >config/config.toml <<EOF
directory = "/config"
name = "example.org"
root = "/data"
$ chown 1000 config
$ chmod 700 config
$ docker run -d -p 1965:1965 -v $(pwd)/config:/config -v $(pwd)/data:/data satellite


Patches and questions? Send to my public inbox: ~gsthnz/public-inbox@lists.sr.ht. Thanks!