Satellite is a small Gemini server for serving static files.
satellite
See satellite (1)
By default, Satellite uses /etc/satellite.toml
, but a custom config file can
be supplied with the -c
flag.
# 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
/etc/satellite.toml
.
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
[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
Patches and questions? Send to my public
inbox:
~gsthnz/public-inbox@lists.sr.ht
.
Thanks!