Dieser Commit ist enthalten in:
timo 2017-05-09 17:54:50 +02:00
Ursprung 44f05358fc
Commit 9a0ab9c5e3
16 geänderte Dateien mit 34 neuen und 34 gelöschten Zeilen

Datei anzeigen

@ -8,7 +8,7 @@ docker-compose exec $Service_Name /bin/bash
### Connecting to Services ### Connecting to Services
If you whant to connect to a service / application directly it is always a good idea to `source mailcow.conf` to get all relevant variables into your environment. If you want to connect to a service / application directly it is always a good idea to `source mailcow.conf` to get all relevant variables into your environment.
#### MySQL #### MySQL
@ -33,7 +33,7 @@ Here is a brief overview of what container / service does what:
| mysql-mailcow | Stores SOGo's and most of mailcow's settings | | mysql-mailcow | Stores SOGo's and most of mailcow's settings |
| postfix-mailcow | Receives and sends mails | | postfix-mailcow | Receives and sends mails |
| dovecot-mailcow | User logins and sieve filter | | dovecot-mailcow | User logins and sieve filter |
| redis-mailcow | Storage backend for DKIM keys, Rmilter and Rspamd | | redis-mailcow | Storage back-end for DKIM keys, Rmilter and Rspamd |
| rspamd-mailcow | Mail filtering system. Used for av handling, dkim signing, spam handling | | rspamd-mailcow | Mail filtering system. Used for av handling, dkim signing, spam handling |
| rmilter-mailcow | Integrates Rspamd into postfix | | rmilter-mailcow | Integrates Rspamd into postfix |
| clamd-mailcow | Scans attachments for viruses | | clamd-mailcow | Scans attachments for viruses |

Datei anzeigen

@ -24,7 +24,7 @@ Escape character is '^]'.
Please read our guide on [DNS configuration](prerequesite-dns.md). Please read our guide on [DNS configuration](prerequesite-dns.md).
## docker-compose throws weird erros ## docker-compose throws weird errors
... like: ... like:

Datei anzeigen

@ -56,7 +56,7 @@ MariaDB [(none)]> FLUSH PRIVILEGES;
## Remove Two-Factor Authentication ## Remove Two-Factor Authentication
This works similar to resetting a MySQL password, now we do it from the host without connecting to the MySQL cli: This works similar to resetting a MySQL password, now we do it from the host without connecting to the MySQL CLI:
``` ```
source mailcow.conf source mailcow.conf

Datei anzeigen

@ -1,4 +1,4 @@
You may want to remove a set of persistend data to resolve a conflict or to start over: You may want to remove a set of persistent data to resolve a conflict or to start over:
``` ```
docker volume rm mailcowdockerized_${VOLUME_NAME} docker volume rm mailcowdockerized_${VOLUME_NAME}

Datei anzeigen

@ -1,5 +1,5 @@
!!! warning !!! warning
mailcow dockerized comes with a snakeoil CA "mailcow" and a server certificate in `data/assets/ssl`. Please use your own trusted certificates. mailcow dockerized comes with a snake-oil CA "mailcow" and a server certificate in `data/assets/ssl`. Please use your own trusted certificates.
mailcow uses **at least** 3 domain names that should be covered by your new certificate: mailcow uses **at least** 3 domain names that should be covered by your new certificate:
@ -36,7 +36,7 @@ certbot certonly \
``` ```
!!! warning !!! warning
Remember to replace the example.org domain with your own domain, this command will not work if you dont. Remember to replace the example.org domain with your own domain, this command will not work if you don't.
### 4\. Create hard links to the full path of the new certificates. Assuming you are still in the mailcow root folder: ### 4\. Create hard links to the full path of the new certificates. Assuming you are still in the mailcow root folder:
``` bash ``` bash

Datei anzeigen

@ -4,7 +4,7 @@
Let us know about your ideas in #mailcow @ Freenode. Let us know about your ideas in #mailcow @ Freenode.
[Servercow](https://www.servercow.de) - hosted mailcow, KVM based virtual servers, webhosting and more. [Servercow](https://www.servercow.de) - hosted mailcow, KVM based virtual servers, web-hosting and more.
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JWBSYHF4SMC68) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=JWBSYHF4SMC68)
@ -30,13 +30,13 @@ The integrated **mailcow UI** allows administrative work on your mail server ins
- DKIM key management - DKIM key management
- Black- and whitelists per domain and per user - Black- and whitelists per domain and per user
- Spam score managment per-user (reject spam, mark spam, greylist) - Spam score management per-user (reject spam, mark spam, greylist)
- Allow mailbox users to create temporary spam aliases - Allow mailbox users to create temporary spam aliases
- Prepend mail tags to subject or move mail to sub folder (per-user) - Prepend mail tags to subject or move mail to sub folder (per-user)
- Allow mailbox users to toggle incoming and outgoing TLS enforcement - Allow mailbox users to toggle incoming and outgoing TLS enforcement
- Allow users to reset SOGo ActiveSync device caches - Allow users to reset SOGo ActiveSync device caches
- imapsync to migrate or pull remote mailboxes regularly - imapsync to migrate or pull remote mailboxes regularly
- TFA: Yubi OTP and U2F USB (Google Chrome and derivates only), TOTP - TFA: Yubi OTP and U2F USB (Google Chrome and derivatives only), TOTP
- Add domains, mailboxes, aliases, domain aliases and SOGo resources - Add domains, mailboxes, aliases, domain aliases and SOGo resources
- Add whitelisted hosts to forward mail to mailcow - Add whitelisted hosts to forward mail to mailcow

Datei anzeigen

@ -21,7 +21,7 @@ git fetch
# Add all changed files to local clone # Add all changed files to local clone
git add -A git add -A
# Commit changes, ignore git complaining about username and mail address # Commit changes, ignore git complaining about username and mail address
git commit -m "Local config aat $(date)" git commit -m "Local config at $(date)"
# Merge changes # Merge changes
git merge git merge
``` ```
@ -47,7 +47,7 @@ Keep in mind that all local changes _to configuration files_ will be lost. Howev
- Clone the remote repository again (`git clone https://github.com/andryyy/mailcow-dockerized && cd mailcow-dockerized`). **Pay attention** to this step - the folder must have the same name of the previous one! - Clone the remote repository again (`git clone https://github.com/andryyy/mailcow-dockerized && cd mailcow-dockerized`). **Pay attention** to this step - the folder must have the same name of the previous one!
- Copy back your previous `mailcow.conf` into the mailcow-dockerizd folder - Copy back your previous `mailcow.conf` into the mailcow-dockerizd folder
If you forgot to stop Docker before deleting the cloned directoy, you can use the following commands: If you forgot to stop Docker before deleting the cloned directory, you can use the following commands:
``` ```
docker stop $(docker ps -a -q) docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q) docker rm $(docker ps -a -q)

Datei anzeigen

@ -35,7 +35,7 @@ If you plan to use a reverse proxy, you can, for example, bind HTTPS to 127.0.0.
You may need to stop an existing pre-installed MTA which blocks port 25/tcp. See [this chapter](https://andryyy.github.io/mailcow-dockerized/first_steps/#install-a-local-mta) to learn how to reconfigure Postfix to run besides mailcow after a successful installation. You may need to stop an existing pre-installed MTA which blocks port 25/tcp. See [this chapter](https://andryyy.github.io/mailcow-dockerized/first_steps/#install-a-local-mta) to learn how to reconfigure Postfix to run besides mailcow after a successful installation.
5\. Pull the images and run the composer file. The paramter `-d` will start mailcow: dockerized detached: 5\. Pull the images and run the composer file. The parameter `-d` will start mailcow: dockerized detached:
``` ```
docker-compose pull docker-compose pull
docker-compose up -d docker-compose up -d

Datei anzeigen

@ -77,4 +77,4 @@ If you are interested in statistics, you can additionally register with the [Pos
@ IN TXT "google-site-verification=..." @ IN TXT "google-site-verification=..."
``` ```
[^1]: A **Fully Qualified Domain Name** (**FQDN**) is the complete (absolute) domain name for a specific computer or host, on the Internet. The FQDN consists of at least three parts devided by a dot: the hostname (myhost), the domain name (mydomain) and the toplevel domain in short **tld** (com). In the example of `mx.mailcow.email` the hostname would be `mx`, the domain name 'mailcow' and the tld `email`. [^1]: A **Fully Qualified Domain Name** (**FQDN**) is the complete (absolute) domain name for a specific computer or host, on the Internet. The FQDN consists of at least three parts divided by a dot: the hostname (myhost), the domain name (mydomain) and the top level domain in short **tld** (com). In the example of `mx.mailcow.email` the hostname would be `mx`, the domain name 'mailcow' and the tld `email`.

Datei anzeigen

@ -4,7 +4,7 @@ Before you run **mailcow: dockerized**, there are a few requirements that you sh
When you want to run the dockerized version on your Debian 8 (Jessie) box you should [switch to the kernel 4.9 from jessie backports](https://packages.debian.org/jessie-backports/linux-image-amd64) because there is a bug (kernel panic) with the kernel 3.16 when running docker containers with *healthchecks*! For more details read: [github.com/docker/docker/issues/30402](https://github.com/docker/docker/issues/30402) and [forum.mailcow.email/t/solved-mailcow-docker-causes-kernel-panic-edit/448](https://forum.mailcow.email/t/solved-mailcow-docker-causes-kernel-panic-edit/448) When you want to run the dockerized version on your Debian 8 (Jessie) box you should [switch to the kernel 4.9 from jessie backports](https://packages.debian.org/jessie-backports/linux-image-amd64) because there is a bug (kernel panic) with the kernel 3.16 when running docker containers with *healthchecks*! For more details read: [github.com/docker/docker/issues/30402](https://github.com/docker/docker/issues/30402) and [forum.mailcow.email/t/solved-mailcow-docker-causes-kernel-panic-edit/448](https://forum.mailcow.email/t/solved-mailcow-docker-causes-kernel-panic-edit/448)
!!! info !!! info
- Mailcow: dockerized requires [some ports](#default-ports) to be open for incomming connections, so make sure that your firewall is not bloking these. Also make sure that no other application is interferring with mailcow's configuration. - Mailcow: dockerized requires [some ports](#default-ports) to be open for incoming connections, so make sure that your firewall is not blocking these. Also make sure that no other application is interfering with mailcow's configuration.
- A correct DNS setup is crucial to every good mailserver setup, so please make sure you got at least the [basics](prerequesite-dns/#the-minimal-dns-configuration) covered bevore you begin! - A correct DNS setup is crucial to every good mailserver setup, so please make sure you got at least the [basics](prerequesite-dns/#the-minimal-dns-configuration) covered bevore you begin!
- Make sure that your system has a correct date and [time setup](#date-and-time). This is crucial for stuff like two factor TOTP authentication. - Make sure that your system has a correct date and [time setup](#date-and-time). This is crucial for stuff like two factor TOTP authentication.
@ -31,7 +31,7 @@ If this command returns any results please remove or stop the application runnin
### Default Ports ### Default Ports
If you have a firewall already up and running please make sure that these ports are open for incomming connections: If you have a firewall already up and running please make sure that these ports are open for incoming connections:
| Service | Protocol | Port | Container | Variable | | Service | Protocol | Port | Container | Variable |
| --------------------|:--------:|:-------|:----------------|--------------------------------| | --------------------|:--------:|:-------|:----------------|--------------------------------|
@ -67,7 +67,7 @@ NTP synchronized: yes
Sun 2017-10-29 02:00:00 CET Sun 2017-10-29 02:00:00 CET
``` ```
The lines `NTP enabled: yes` and `NTP synchronized: yes` indicate wether you have NTP enabled and if it's syncronized. The lines `NTP enabled: yes` and `NTP synchronized: yes` indicate wether you have NTP enabled and if it's synchronized.
To enable NTP you need to run the command `timedatectl set-ntp true`. You also need to edit your `/etc/systemd/timesyncd.conf`: To enable NTP you need to run the command `timedatectl set-ntp true`. You also need to edit your `/etc/systemd/timesyncd.conf`:

Datei anzeigen

@ -1,6 +1,6 @@
With Gogs' ability to authenticate over SMTP it is trivial to integrate it with mailcow. Few changes are needed: With Gogs' ability to authenticate over SMTP it is trivial to integrate it with mailcow. Few changes are needed:
1\. Open `docker-compose.yml` and add gogs: 1\. Open `docker-compose.yml` and add Gogs:
``` ```
gogs-mailcow: gogs-mailcow:
@ -27,7 +27,7 @@ location /gogs/ {
} }
``` ```
3\. Open `mailcow.conf` and define ports you want gogs to open, as well as future database password. Example: 3\. Open `mailcow.conf` and define ports you want Gogs to open, as well as future database password. Example:
``` ```
GOGS_WWW_PORT=3000 GOGS_WWW_PORT=3000

Datei anzeigen

@ -7,5 +7,5 @@ docker-compose down -v --rmi all --remove-orphans
!!! info !!! info
- **-v** Remove named volumes declared in the `volumes` section of the Compose file and anonymous volumes attached to containers. - **-v** Remove named volumes declared in the `volumes` section of the Compose file and anonymous volumes attached to containers.
- **--rmi <type>** Remove images. Type must be one of: `all`: Remove all images used by any service. `local`: Remove only images that don't have a custom tag set by the `image` field. - **--rmi <type>** Remove images. Type must be one of: `all`: Remove all images used by any service. `local`: Remove only images that don't have a custom tag set by the `image` field.
- **--remove-orphans** Remove containsers for services not defined in the compose file. - **--remove-orphans** Remove containers for services not defined in the compose file.
- By default `docker-compose down` only removes currently active containers and networks devinded in the `docker-compose.yml`. - By default `docker-compose down` only removes currently active containers and networks defined in the `docker-compose.yml`.

Datei anzeigen

@ -1,5 +1,5 @@
These temporary email aliases are mostly used for places where we need to provide an email address but don't want future correspondence with. They are also called spam alias. These temporary email aliases are mostly used for places where we need to provide an email address but don't want future correspondence with. They are also called spam alias.
To create, delete or extend a temporary email aliase you need to login to mailcow's UI as a mailbox user and navigate to the tab **Temporary email aliases**: To create, delete or extend a temporary email aliases you need to login to mailcow's UI as a mailbox user and navigate to the tab **Temporary email aliases**:
![How to set spam- or temporary email aliases in mailcow](images/mailcow-spamalias.png) ![How to set spam- or temporary email aliases in mailcow](images/mailcow-spamalias.png)

Datei anzeigen

@ -4,7 +4,7 @@ So far three methods for *Two-Factor Authentication* are implemented: U2F, Yubi
- Both U2F and Yubi OTP work well with the fantastic [Yubikey](https://www.yubico.com). - Both U2F and Yubi OTP work well with the fantastic [Yubikey](https://www.yubico.com).
- While Yubi OTP needs an active internet connection and an API ID + key, U2F will work with any FIDO U2F USB key out of the box, but can only be used when mailcow is accessed over HTTPS. - While Yubi OTP needs an active internet connection and an API ID + key, U2F will work with any FIDO U2F USB key out of the box, but can only be used when mailcow is accessed over HTTPS.
- U2F and Yubi OTP support multiple keys per user. - U2F and Yubi OTP support multiple keys per user.
- As the third TFA method mailcow uses TOTP: time-based one-time passwords. Those psaswords can be generated with apps like "Google Authenticator" after initially scanning a QR code or entering the given secret manually. - As the third TFA method mailcow uses TOTP: time-based one-time passwords. Those passwords can be generated with apps like "Google Authenticator" after initially scanning a QR code or entering the given secret manually.
As administrator you are able to temporary disable a domain administrators TFA login until they successfully logged in. As administrator you are able to temporary disable a domain administrators TFA login until they successfully logged in.
@ -17,7 +17,7 @@ The API ID, API key and the first 12 characters (your YubiKeys ID in modhex) are
### U2F ### U2F
Only Google Chrome (+derivates) and Opera support U2F authentication to this day natively. Only Google Chrome (+derivatives) and Opera support U2F authentication to this day natively.
For Firefox you will need to install the "U2F Support Add-on" as provided on [mozilla.org](https://addons.mozilla.org/en-US/firefox/addon/u2f-support-add-on/). For Firefox you will need to install the "U2F Support Add-on" as provided on [mozilla.org](https://addons.mozilla.org/en-US/firefox/addon/u2f-support-add-on/).
U2F works without an internet connection. U2F works without an internet connection.