You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.7 KiB

gMNd

gMNd is my gemini server, which is written in python. It has support for serving static files, or run cgi-scripts. Documentation will primarily be supplied via gemini://mic.ke/gmnd/docs, but if you are not yet able to access content via gemini, here is a quick start guide for your viewing pleasure:

Installation

Please use supplied debian and rpm repos. Packages are signed with gpg.

DEB

curl https://repo.mic.ke/PUBLIC.KEY | sudo apt-key add -
curl https://repo.mic.ke/debian/debian-micke-unstable.list | sudo tee /etc/apt/sources.list.d/debian-micke-unstable.list
sudo apt update && sudo apt install gmnd

RPM

wget https://repo.mic.ke/PUBLIC.KEY
sudo rpm --import PUBLIC.KEY
sudo dnf config-manager --add-repo https://repo.mic.ke/rpm/rpm-micke.repo
sudo dnf install gmnd

Docker

You can build and run it from the supplied Dockerfile if you so whish:

docker build -t gmnd:latest .

By just running it, it will create self signed certs and serve example content from this repo:

docker run -p 1965:1965 gmnd

A slightly more interesting thing it can do is serve your own content, in this example from /tmp/content on your host machine and cgi-scripts from /tmp/cgi-bin:

docker run --mount type=bind,source="/tmp/content,target=/app/content" --mount type=bind,source="/tmp/cgi-bin,target=/app/cgi-bin" -p 1965:1965 gmnd

Or even supply your own certificates from the outside, in this example in /usr/local/certs with static content from /tmp/content:

docker run --mount type=bind,source="/tmp/content,target=/app/content" --mount type=bind,source="/usr/local/certs,target=/app/certs" -p 1965:1965 gmnd