GMID(8) System Manager's Manual GMID(8)

gmidGemini server

gmid [-fhnVv] [-c config] [-D macro=value] [-P pidfile]

gmid is a simple and minimal gemini server that can serve static files, talk to FastCGI applications and act as a gemini reverse proxy.

gmid rereads the configuration file when it receives SIGHUP and reopens log files when it receives SIGUSR1.

The options are as follows:

Specifies the configuration file. The default is /etc/gmid.conf.
Define macro to be set to value on the command line. Overrides the definition of macro in the config file if present.
Do not daemonize. Stay and log in the foreground.
, --help
Print the usage and exit.
Check that the configuration is valid, but don't start the server. If specified two or more time, dump the configuration in addition to verify it.
Write daemon's pid to the given location. pidfile will also act as lock: if another process is holding a lock on that file, gmid will refuse to start.
, --version
Print the version and exit.
Verbose mode.

To run gmid a configuration file and a X.509 certificate must be provided. A self-signed certificate, which are commonly used in the Geminispace, can be generated using for e.g. openssl(1):

# openssl req -x509 -newkey rsa:4096 -nodes \
	-keyout /etc/ssl/private/ \
	-out /etc/ssl/ \
	-days 365 -subj "/"
# chmod 600 /etc/ssl/
# chmod 600 /etc/ssl/private/

Then gmid can be started with

# gmid -c /etc/gmid.conf

gemexp(1), gg(1), gmid.conf(5)

gmid uses the “Flexible and Economical” UTF-8 decoder written by Bjoern Hoehrmann.

The gmid program was written by Omar Polo <>.

April 27, 2024 OpenBSD 7.5