gMNd has a config file in yaml format that you can supply on the command line with either of these options -f --file This is the example config, supplied with the server ``` --- # Uncomment below line to allow automtic directory indexing #allow_dir_list: true # Below is default bas path for your content base_path: /var/gemini/gemtext # To allow connectiond from the outside, set listen address below #listen_addr: '0.0.0.0' # To set debug logging, uncomment below line #logg_level: 'DEBUG' # To enable cgi functionality, configure something like below #cgi_registry: # /envtest.*: # - /var/gemini/cgi-bin/envtest.sh server_cert: /etc/ssl/certs/ssl-cert-snakeoil.pem server_key: /etc/ssl/private/ssl-cert-snakeoil.key ``` If you uncomment the options it enables directory indexing, sets the listen address to 0.0.0.0 (all interfaces), the log level to DEBUG and registers the script ./cgi-bin/envtest.sh to serve content for any path that matches the regex /envtest.*. Notice that snakeoil certs won't actually work, you should generate your own certificates. This is a guide that should work well for you: => gemini://republic.circumlunar.space/users/andybalaam/blogmirror/2019-05-02_creating_a_self_signed_certificate_for_apache_and_connecting_to_i.gmi A full list of options are here: ``` allow_dir_list = true/false, default false (global option for now!) base_path = the server root where you serve content from, default ./content cgi_registry = you can set different cgi scripts to server content for different paths, no default listen_addr = the ip address to listen to, default 127.0.0.1 listen_port = the port to listen to, default 1965 logg_level = any of "CRITICAL", "DEBUG", "ERROR", "INFO", "NOTSET", "WARNING", defult is INFO server_cert = the path to the TLS cert, default ./certs/cert.pem server_key = the path to the TLS key, default ./certs/cert.key ``` .. => gemini://mic.ke/gmnd/docs/index.gmi back to gmnd/docs/