2019-01-16 21:01:09 +02:00
{% if flavor == "stack" %}
{% call macros.panel("danger", "Docker stack / swarm is experimental") %}
Setup is capable of generating a somewhat decent docker-compose.yml,
for the docker stack flavor. However its usage is for advanced users an is experimental.
Expect many challenges is shared mail storage and fail-over scenarios! Some user experiences
have been < a href = "https://github.com/Mailu/Mailu/blob/master/docs/swarm/master/README.md" > shared on GitHub.< / a >
{% endcall %}
{% endif %}
2018-10-17 14:38:51 +02:00
{% call macros.panel("info", "Step 2 - Initial configuration") %}
2020-03-08 01:42:38 +02:00
< p > Before starting, some variables must be set.< / p >
2018-10-16 15:12:42 +02:00
< div class = "form-group" >
2019-01-16 21:01:09 +02:00
< label > Mailu storage path: < / label >
2018-10-17 14:11:55 +02:00
<!-- Validates path -->
< input class = "form-control" type = "text" name = "root" value = "/mailu" required pattern = "^/[-_A-Za-z0-9]+(/[-_A-Za-z0-9]*)*" >
2018-10-16 15:12:42 +02:00
< / div >
2020-03-08 01:42:38 +02:00
< p > In the following sections we need to set the postmaster address. This is a combination of the < i > postmaster< / i > local part and the < i > main mail domain< / i > .
The < i > main mail domain< / i > is also used as < / i > "server display name"< / i > . This is the way the SMTP server identifies itself when connecting to others.
2018-10-19 10:57:02 +02:00
The Postmaster will get an e-mail address < postmaster> @< main_domain> . This address will receive the DMARC "rua" and "ruf" reports.
Or in plain english: if receivers start to classify your mail as spam, this postmaster will be informed.< / p >
2018-10-16 15:12:42 +02:00
< div class = "form-group" >
2018-10-19 10:57:02 +02:00
< label >
Main mail domain and server display name.
< / label >
2018-10-17 14:11:55 +02:00
<!-- Validates domain name -->
2020-03-08 01:42:38 +02:00
< input class = "form-control" type = "text" name = "domain" placeholder = "e.g. mailu.io"
2018-10-17 14:11:55 +02:00
required pattern="^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$">
2018-10-16 15:12:42 +02:00
< / div >
< div class = "form-group" >
2018-10-19 10:57:02 +02:00
< label > Postmaster local part< / label >
2018-10-17 14:11:55 +02:00
< input class = "form-control" type = "text" name = "postmaster" value = "admin" required >
2018-10-16 15:12:42 +02:00
< / div >
< div class = "form-group" >
2019-01-16 21:01:09 +02:00
< label > Choose how you wish to handle security < a href = "https://mailu.io/{{ version }}/compose/setup.html#tls-certificates" > TLS certificates< / a > < / label >
2018-10-16 15:12:42 +02:00
< br / >
2018-10-18 16:23:25 +02:00
< select class = "btn btn-primary dropdown-toggle" name = "tls_flavor" >
2018-10-16 15:12:42 +02:00
{% for tlsflavor in ["letsencrypt", "cert", "notls", "mail", "mail-letsencrypt"] %}
< option value = "{{ tlsflavor }}" > {{ tlsflavor }}< / option >
{% endfor %}
< / select >
< / div >
< div class = "form-group" >
< label > Authentication rate limit (per source IP address)< / label >
2020-02-09 18:38:18 +02:00
<!-- Validates number input only -->
2020-03-08 01:42:38 +02:00
< p > < input class = "form-control" style = "width: 7%; display: inline;" type = "number" name = "auth_ratelimit_pm"
2020-02-09 18:38:18 +02:00
value="10" required > / minute
< / p >
2018-10-16 15:12:42 +02:00
< / div >
< div class = "form-check form-check-inline" >
< label class = "form-check-label" >
< input class = "form-check-input" type = "checkbox" name = "disable_statistics" value = "True" >
Opt-out of statistics
< / label >
< / div >
< div class = "form-group" >
< label > Website name< / label >
2018-10-17 14:11:55 +02:00
< input class = "form-control" type = "text" name = "site_name" value = "Mailu" required >
2018-10-16 15:12:42 +02:00
< / div >
< div class = "form-group" >
< label > Linked Website URL< / label >
2018-10-17 14:11:55 +02:00
<!-- Validates url with or without https:// -->
< input class = "form-control" type = "url" name = "website" value = "https://mailu.io" required
2019-01-17 11:13:27 +02:00
pattern="^(https?://)?([a-zA-Z0-9]([a-zA-ZäöüÄÖÜ0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$">
2018-10-16 15:12:42 +02:00
< / div >
2018-10-19 10:45:55 +02:00
< p > The admin interface is the main Mailu-specific bit, it provides tools to
manage your email domains, users, etc.< / p >
< div class = "form-group" >
2018-10-26 15:50:59 +02:00
< input type = "checkbox" name = "admin_enabled" value = "true" id = "admin" >
< label > Enable the admin UI (and path to the admin UI)< / label >
< input class = "form-control" type = "text" name = "admin_path" id = "admin_path" style = "display: none" >
2018-10-19 10:45:55 +02:00
< / div >
2018-10-26 15:50:59 +02:00
< script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" > < / script >
2018-11-07 16:41:11 +02:00
< script type = "text/javascript" src = "{{ url_for('static', filename='render.js') }}" > < / script >
2018-10-26 15:50:59 +02:00
2018-10-16 15:12:42 +02:00
{% endcall %}