~gsthnz/satellite

Gemini Server
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

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/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

#Contributing

Patches and questions? Send to my public inbox: ~gsthnz/[email protected]. Thanks!