for no reasons other than it being the first I discovered and setup taking no time at all, I am using Motsognir as my gopher daemon for my gopher site. this article describes my current setup on Debian.

on this setup, motsognir is started as root by systemd, chroots to /var/gopher, and drops to unprivileged user motsognir. /var/gopher looks like the following:

gophermap
home/
	ethan/		# symlinked to /home/ethan/gopher.
	other_user/
	...
	

installation*

get the latest tarball from mateusz.fr/motsognir/download, extract it, and build and install it.

cd /tmp
wget https://mateusz.fr/motsognir/download/motsognir-1.0.13.tar.xz
tar -xf ./motsognir-1.0.13.tar.xz
cd ./motsognir-1.0.13
make
sudo make install

systemd service

/etc/systemd/system/motsognir.service

[Unit]
Description=Motsognir gopher server
After=network.target

[Service]
ExecStart=/usr/sbin/motsognir
Type=forking
Restart=always

[Install]
WantedBy=multi-user.target

configuration*

/etc/motsognir.conf

# set server hostname
GopherHostname=yonderly.org
# enable user directories; don't actually give the internet access
#  to your users' homes; see chroot=.
UserDir=/home/%s/
# use chroot for military-grade security.
chroot=/var/gopher
# enable paranoid mode; ensure only world-readable files can be served.
ParanoidMode=1
# run as unprivileged user for quantum-safe security.
RunAsUser=motsognir
# set caps.txt information
CapsServerDescription=yonderly.org gopher server
CapsServerGeolocationString=United States
...