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
# Address to listen to requests (default: 0.0.0.0:1965) listen = "0.0.0.0" [tls] # Directory to save certificates directory = "/var/lib/gemini/certs" # Multiple domains can be set with the [[domain]] section [[domain]] name = "example.com" root = "/srv/gemini/example.com" [[domain]] 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
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/satellite.toml <<EOF [tls] directory = "/config" [[domain]] name = "example.org" root = "/data" EOF $ chown 1000 config $ chmod 700 config $ docker run -d -p 1965:1965 -v $(pwd)/config:/config -v $(pwd)/data:/data satellite