You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
2.4 KiB
Markdown
47 lines
2.4 KiB
Markdown
Maintain a Mailu server
|
|
=======================
|
|
|
|
Upgrading the mail server
|
|
-------------------------
|
|
|
|
First check upstream for changes in the ``docker-compose.yml`` or in the
|
|
``.env`` files. Also, check ``CHANGELOG.md`` for changes that you
|
|
might not want to include.
|
|
|
|
Update your ``.env`` file to reflect the version that you wish to install (if
|
|
you are running ``stable`` or ``latest``, you may skip this and proceed), then
|
|
simply pull the latest images and recreate the containers :
|
|
|
|
```
|
|
docker-compose pull
|
|
docker-compose up -d
|
|
```
|
|
|
|
Monitoring the mail server
|
|
--------------------------
|
|
|
|
Logs are managed by Docker directly. You can easily read your logs using :
|
|
|
|
```
|
|
docker-compose logs
|
|
```
|
|
|
|
Docker is able to forward logs to multiple log engines. Read the following documentation or details: https://docs.docker.com/engine/admin/logging/overview/.
|
|
|
|
Migrating an instance
|
|
---------------------
|
|
|
|
The SMTP protocol has an embedded retry mechanism and multiple MX that can serve a single domain, so that most migration process or maintenance process do not require any specific care.
|
|
|
|
Mailu relys heavily on files for storing everything, which helps the migration process, that can be performed based on file synchronization.
|
|
|
|
The suggested migration process consists in setting up a new backup server that drops incoming emails (Mailu not started), synchronizing both servers, stopping the main server and launching the backup server. Then, the backup server is switched as a main MX and the old server is deleted.
|
|
|
|
1. Prepare your new server, copy your `docker-compose.yml`, `.env` and basic configuration files to the server, so that it is ready to start configuration Mailu, *do not start Mailu*
|
|
2. Setup your DNS so that the backup server is an additional, deprioritized MX for the domain; this can be complex if you serve many domains, in which case you can simply accept that some remote MX will retry for a couple minutes, skip this step
|
|
3. While your DNS TTL expires and your modification propagates, start *rsyncing* your Mailu directory (`data`, `dkim`, `mail`, etc.) to the new server, repeat until there are only a couple files synchronized
|
|
4. Stop Mailu on the old server and run a final `rsync` while no process is writing to the files
|
|
5. Start Mailu on the new server, and production should be back to normal
|
|
6. Set your new server as the main MX for your domains, if you did not set an additional MX, make sure you still change the `A` and `AAAA` record for your MX name.
|
|
|