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