{% import "macros.html" as macros %} {% call macros.panel("info", "Step 1 - Download your configuration files") %}
Docker Compose expects a project file, named docker-compose.yml
in a project directory. First create your project directory.
mkdir {{ root }}
Then download the project file. A side configuration file makes it easier to read and check the configuration variables generated by the wizard.
cd {{ root }}
wget {{ url_for('.file', uid=uid, _scheme='https', filepath='docker-compose.yml', _external=True) }}
wget {{ url_for('.file', uid=uid, _scheme='https', filepath='mailu.env', _external=True) }}
{% endcall %}
{% call macros.panel("info", "Step 2 - Review the configuration") %}
We did not insert any malicious code on purpose in the configurations we distribute, but your download could have been intercepted, or our wizard website could have been compromised, so make sure you check the configuration files before going any further.
When you are done checking them, check them one last time.
{% endcall %} {% call macros.panel("info", "Step 3 - Start the Compose project") %}To start your compose project, simply run the Docker Compose up
command using -p mailu
flag for project name.
cd {{ root }}
docker compose -p mailu up -d
Before you can use Mailu, you must create the primary administrator user account. This should be {{ postmaster }}@{{ domain }}. Use the following command, changing PASSWORD to your liking:
docker compose -p mailu exec admin flask mailu admin {{ postmaster }} {{ domain }} PASSWORD
Login to the admin interface to change the password for a safe one, at {% if admin_enabled %} one of the hostnames {{ hostnames.split(',')[0] }}{{ admin_path }}. {% else %} http://127.0.0.1:8080/ui (only directly from the host running docker). If you run mailu on a remote server, and wish to access the admin interface via a SSH tunnel, you can create a port-forward from your local machine to your server like
ssh -L 127.0.0.1:8080:127.0.0.1:8080 <user>@<server>
And access the above URL from your local machine.