Satellite
Satellite is a small Gemini server for serving static files.
Usage
satellite
See satellite (1)
Configuration
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: 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)
Installation
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/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
Contributing
Patches and questions? Send to my public
inbox:
~gsthnz/public-inbox@lists.sr.ht
.
Thanks!