created 2024/06/09 category info, internet views 18
stargazer is a fast and easy to use gemini server with no runtime dependencies that has cgi script support compatible with other gemini servers
store certificates in a hidden certificates directory under /var/gemini, also listen on the localhost/loopback ip address (i have stargazer behind a tcp reverse proxy anyway, so there's no need to listen on a public ip)
listen = 0.0.0.0 [:tls] store = /var/gemini/.certificates
stargazer supports multiplexing, which is a fancy name for being able to act as the server for multiple websites/domain names, so every block is defined by a
this will serve files from the example.com directory under /var/gemini, but not provide a directory listing for directories without an index.gmi file, and explicitly disable cgi scripts
[example.com] root = /var/gemini/example.com auto-index = off cgi = off
this will generate a directory listing for any files and directories under /media, and explicitly disable cgi scripts
[example.com~/media] root = /var/gemini/content cgi = off auto-index = on
this will make any files ending with the file extension .cgi execute as a script, the output of which will be returned as the response to the user's request. it also makes it so if a script takes longer then five seconds to execute the response times out
[example.com~(.*)\.cgi] root = /var/gemini/example.com cgi = on cgi-timeout = 5
this will redirect anyone going to index.html back to the root of the directory, which will serve index.html anyway
[example.com~(.*)/index.gmi] redirect = ./