computer-playbook/roles/docker-mailu/README.md

4.6 KiB

Mailu Server Docker Role

This guide provides instructions for setting up, operating, and maintaining the Mailu server docker role.

Table of Contents

Setup

Fetchmail Issues

Fetchmail might not work properly with large amounts of data. For more information, refer to this issue.

Deactivating Fetchmail

Before uninstalling Fetchmail, ensure to remove all fetched accounts from the administration panel.

Fetchmail Security Concerns

There are known security concerns with Fetchmail as stated in the German Wikipedia. If you require Fetchmail functions in the future, consider creating a Docker container for Getmail as it is considered more secure.

Fetchmail Workaround

If you need to receive emails from another account, follow these steps:

  1. Redirect your emails to your new email account.
  2. Export all data from your original account.
  3. Import all data to your new account.

Data Deletion

To delete all volumes and data, execute the following command with caution:

rm -vr /etc/mailu/; docker volume rm $(docker volume ls -q | grep mailu_)

Port Management

Check for any port conflicts and manually change the conflicting ports if necessary. Use the following command to verify:

netstat -tulpn

Admin Account Creation

To use Mailu, create the primary administrator user account, admin@{{hostname}}, using the command below. Replace PASSWORD with your preferred password:

docker-compose -p mailu exec admin flask mailu admin {{admin}} {{hostname}} PASSWORD

CLI User Management

For managing users, follow the instructions in the official Mailu CLI documentation.

Starting the Server

To start the server, use the following command:

docker-compose -p mailu up -d

Debugging

Database Access

To access the database, use the following command:

docker-compose exec -it database mysql -u root -D mailu -p

Container Access

To access the front container, use this command:

docker-compose exec -it front /bin/bash

Restarting Services

To restart all services, use the following command:

docker-compose restart 

Resending Queued Mails

To resend queued mails, use this command:

docker-compose exec -it smtp postqueue -f

Testing

Use the following tools for testing:

Updates

For instructions on updating your Mailu setup, follow the official Mailu maintenance guide.

To-Do

  • Implement two-factor authentication in Roundcube Webmail. More information can be found here.
  • Integrate Nextcloud 15 and newer with Mailu. Learn more about this here.
  • User authentication with Nextcloud. Find more information here.

References

For more information about this role, visit the GitHub repository.

This README.md was optimized with Chat-GPT