r-raymond / nixos-mailserver

A complete and Simple Nixos Mailserver
GNU General Public License v3.0
181 stars 27 forks source link

There are plenty of new features that need documentation #103

Open r-raymond opened 6 years ago

r-raymond commented 6 years ago

Thanks @phdoerfler for contributing many new features to SNM. Unfortunately most of them are not documented so far, which I'd like to change before the next release. If you are using those features already, please consider adding some documentation on how!

phdoerfler commented 6 years ago

How much documentation do we want? default.nix should imho be the first address to look at. This is the truth, it will never be out of date and contains both descriptions and examples. I suggest simply linking it in the README file so people new to this project are bumped right into it. Something like:

For a complete list of all available options together with their default values and examples and description, check out default.nix.

Or worded like this:

Getting Started

The available options and what they are set to are all in default.nix. Also contained there are their examples and descriptions. This is a complete and up-to-date list and no other files contain any more options.

What will the defaults do?

They will set up a mail server that is intended to be the only thing running on a machine. But you can change that! This is reflected by the option localNameserver which for the sake of the contained rspamd starts its own local nameserver and sets it as the system default. If you want to run a different nameserver or no nameserver at all you can tweak the setting. For details see issues bla and blubb.

This project gives security a lot of thought. SSL parameters are set to be safe to the best of our knowledge, the firewall does only expose a minimum set of ports and we try to not have any additional software running beside what makes sense.

I like to change things

Sure! That's why there are options. We try to have high level options for most aspects but some things that are very specific to the individual machine this server is running on do come with a working default value and if you want to tweak that feel free to copy the provided example and adjust it. A good example for this is the monit configuration: You may want to monitor different hard drives, or be alerted when a different set of thresholds is reached and so on.