--- title: Home --- # Welcome to the Documentation for `docker-mailserver`! !!! info "This Documentation is Versioned" **Make sure** to select the correct version of this documentation! It should match the version of the image you are using. The default version corresponds to the `:latest` image tag - [the most recent stable release][docs-tagging]. This documentation provides you not only with the basic setup and configuration of DMS but also with advanced configuration, elaborate usage scenarios, detailed examples, hints and more. [docs-tagging]: ./usage/#available-images-tags-tagging-convention ## About `docker-mailserver`, or DMS for short, is a production-ready fullstack but simple mail server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.). It employs only configuration files, no SQL database. The image is focused around the slogan "Keep it simple and versioned". ## Contents ### Getting Started If you're completely new to mail servers or you want to read up on them, check out our [_Introduction_ page][docs-introduction]. If you're new to DMS as a mail server appliance, make sure to read the [_Usage_ chapter][docs-usage] first. If you want to look at examples for Docker Compose, we have an [_Examples_ page][docs-examples]. There is also a script - [`setup.sh`][github-file-setupsh] - supplied with this project. It supports you in configuring and administrating your server. Information on how to get it and how to use it is available [on a dedicated page][docs-setupsh]. [docs-introduction]: ./introduction/ [docs-usage]: ./usage/ [docs-examples]: ./examples/tutorials/basic-installation/ [github-file-setupsh]: https://github.com/docker-mailserver/docker-mailserver/blob/master/setup.sh [docs-setupsh]: ./config/setup.sh/ ### Configuration We have a [dedicated configuration page][docs-environment]. It contains most of the configuration and explanation you need to setup _your_ mail server properly. Be aware that advanced tasks may still require reading through all parts of this documentation; it may also involve inspecting your running container for debugging purposes. After all, a mail-server is a complex arrangement of various programs. !!! important If you'd like to change, patch or alter files or behavior of `docker-mailserver`, you can use a script. Just place a script called `user-patches.sh` in your `./docker-data/dms/config/` folder volume (which is mounted to `/tmp/docker-mailserver/` inside the container) and it will be run on container startup. See the ['Modifications via Script' page][docs-userpatches] for additional documentation and an example. You might also want to check out: 1. A list of [all configuration options via ENV][docs-environment] 2. A list of [all optional and automatically created configuration files and directories][docs-optionalconfig] !!! tip Definitely check out the [FAQ][docs-faq] for more information and tips! Please do not open an issue before you have checked our documentation for answers, including the [FAQ][docs-faq]! [docs-environment]: ./config/environment/ [docs-userpatches]: ./faq/#how-to-adjust-settings-with-the-user-patchessh-script [docs-setupsh]: ./config/setup.sh/ [docs-optionalconfig]: ./config/advanced/optional-config/ [docs-faq]: ./faq/ ### Tests DMS employs a variety of tests. If you want to know more about our test suite, view our [testing docs][docs-tests]. [docs-tests]: ./contributing/tests/ ### Contributing We are always happy to welcome new contributors. For guidelines and entrypoints please have a look at the [Contributing section][docs-contributing]. [docs-contributing]: ./contributing/issues-and-pull-requests/