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.
66 lines
3.0 KiB
HTML
66 lines
3.0 KiB
HTML
{% import "macros.html" as macros %}
|
|
|
|
{% call macros.panel("info", "Step 1 - Download your configuration files") %}
|
|
<p>Docker Stack expects a project file, named <code>docker-compose.yml</code>
|
|
in a project directory. First create your project directory.</p>
|
|
|
|
<pre><code>mkdir -p {{ root }}/{redis,certs,data,data/fetchmail,dkim,mail,mailqueue,overrides/rspamd,overrides/postfix,overrides/dovecot,overrides/nginx,filter,dav,webmail}
|
|
</pre></code>
|
|
|
|
<p>Then download the project file. A side configuration file makes it easier
|
|
to read and check the configuration variables generated by the wizard.</p>
|
|
|
|
<pre><code>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) }}
|
|
</pre></code>
|
|
{% endcall %}
|
|
|
|
|
|
{% call macros.panel("info", "Step 2 - Review the configuration") %}
|
|
<p>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.</p>
|
|
|
|
<p>When you are done checking them, check them one last time.</p>
|
|
{% endcall %}
|
|
|
|
{% call macros.panel("info", "Step 3 - Deploy docker stack") %}
|
|
<p>To deploy the docker stack use the following commands. For more information about setting up docker swarm nodes read the
|
|
<a href="https://docs.docker.com/get-started">docker documentation</a></p>
|
|
|
|
<pre><code>cd {{ root }}
|
|
docker swarm init
|
|
docker stack deploy -c docker-compose.yml mailu
|
|
</pre></code>
|
|
|
|
In the docker stack deploy command, mailu is the app name. Feel free to change it.<br/>
|
|
In order to display the running container you can use<br/>
|
|
<pre><code>docker ps</code></pre>
|
|
or
|
|
<pre><code>docker stack ps --no-trunc mailu</code></pre>
|
|
Command for removing docker stack is
|
|
<pre><code>docker stack rm mailu</code></pre>
|
|
|
|
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:
|
|
|
|
<pre><code>docker exec $(docker ps | grep admin | cut -d ' ' -f1) flask mailu admin {{ postmaster }} {{ domain }} PASSWORD
|
|
</pre></code>
|
|
|
|
<p>Login to the admin interface to change the password for a safe one, at
|
|
{% if admin_enabled %}
|
|
one of the hostnames
|
|
<a href="https://{{ hostnames.split(',')[0] }}{{ admin_path }}">{{ hostnames.split(',')[0] }}{{ admin_path }}</a>.
|
|
{% else %}
|
|
<a href="http://127.0.0.1:8080/ui">http://127.0.0.1:8080/ui</a> (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
|
|
<pre><code>ssh -L 127.0.0.1:8080:127.0.0.1:8080 <user>@<server>
|
|
</code></pre>
|
|
And access the above URL from your local machine.
|
|
<br />
|
|
{% endif %}
|
|
Also, choose the "Update password" option in the left menu.
|
|
</p>
|
|
{% endcall %}
|