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.
 
 
 
Mikael Nordin a5f52cf085
Update README.md
4 years ago
cgi-bin Add example cgi-script 4 years ago
content Adding various packaging fixes 4 years ago
debian Adding various packaging fixes 4 years ago
gmnd Merge branch 'main' of https://github.com/mickenordin/gmnd 4 years ago
packaging_scripts Version 0.0.1 release 4 years ago
rpm Version 0.0.1 release 4 years ago
Dockerfile Add support for cgi scripts 4 years ago
LICENSE Adding various packaging fixes 4 years ago
README.md Update README.md 4 years ago
config.yml Adding various packaging fixes 4 years ago
openssl.conf Add docker file and example content 4 years ago

README.md

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

Unless you are using resolvconf and systemd-resolvd, NetworkManager might empty /etc/resolv.conf when you remove the last tunnel. This step is optional, but recommended:

sudo apt install resolvconf
sudo systemctl restart systemd-resolved.service

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