Rename the config dir to setup

This commit is contained in:
kaiyou
2018-04-22 16:10:25 +02:00
parent 40720fb3ea
commit f5538698d3
17 changed files with 0 additions and 0 deletions

22
setup/templates/base.html Normal file
View File

@@ -0,0 +1,22 @@
{% extends "bootstrap/base.html" %}
{% import "macros.html" as macros %}
{% block title %}Mailu setup{% endblock %}
{% block content %}
<div class="container">
<h1>Mailu configuration</h1>
<p>
Version
<select onchange="window.location.href=this.value;">
{% for available in versions %}
<option value="{{ url_for('{}.wizard'.format(available)) }}" {% if available == version %}selected{% endif %}>{{ available }}</option>
{% endfor %}
</select>
</p>
{% block page %}{% endblock %}
</div>
<p></p>
{% endblock %}

View File

@@ -0,0 +1,22 @@
{% macro panel(style, title) %}
<div class="panel panel-{{ style }}">
<div class="panel-heading">
<h3 class="panel-title">{{ title }}</h3>
</div>
<div class="panel-body">
{{ caller() }}
</div>
</div>
{% endmacro %}
{% macro radio(name, value, emph, text) %}
<div class="radio">
<label>
<input type="radio" name="{{ name }}" value="{{ value }}">
{% if emph %}
<strong>{{ emph }}</strong>,
{% endif %}
{{ text }}
</label>
</div>
{% endmacro %}

View File

@@ -0,0 +1,23 @@
{% extends "base.html" %}
{% block content %}
<div class="container">
<h1>Mailu configuration - {{ branch }}</h1>
{% call macros.panel("success", "Your configuration was generated") %}
<p>The following steps will guide you towards downloading and using your
configuration files. Keep in mind that you should review every downloaded
file before running anything based on it.</p>
<p>If you encounter issues while setting Mailu up, please review the
documentation first, then check if an issue is open for that specific
problem. If not, you may either use Github to open an issue and detail what
your problem or bug looks like, or join us on Matrix and discuss it
with contributors.</p>
{% endcall %}
{% autoescape false %}
{{ contents }}
{% endautoescape %}
</div>
{% endblock %}

View File

@@ -0,0 +1,33 @@
{% call macros.panel("info", "Step 2 - expose Mailu to the world") %}
<p>A mail server must be exposed to the world to receive emails, send emails,
and let users access their mailboxes. Mailu has some flexibility in the way
you expose it to the world.</p>
<p>Among Mailu services, the <em>front</em> server is the one accepting connections,
be it directly from the outside world, through a reverse proxy or in any
complex configuration that you might want to setup. It needs to listen on some
IP addresses in order to expose its public services. You must at least setup
an IPv4 or an IPv6 address if you wish to access Mailu.</p>
<p><span class="label label-warning">Warning</span> You must use specific addresses, please
avoid generic all-interfaces addresses like <code>0.0.0.0</code> or <code>::</code>.</p>
<div class="form-group">
<label>IPv4 listen address</label>
<input class="form-control" type="text" name="ip4" placeholder="1.2.3.4">
</div>
<div class="form-group">
<label>IPv6 listen address</label>
<input class="form-control" type="text" name="ip6" placeholder="2001:be4:1234::1">
</div>
<p>You server will be available under a main hostname but may expose multiple public
hostnames. Every e-mail domain that points to this server must have one of the
hostnames in its <code>MX</code> record. Hostnames must be coma-separated.</p>
<div class="form-group">
<label>Public hostnames</label>
<input class="form-control" type="text" name="hostnames" placeholder="my.host.name,other.host.name" multiple>
</div>
{% endcall %}

View File

@@ -0,0 +1,16 @@
{% call macros.panel("info", "Step 1 - pick a flavor") %}
<p>Mailu comes in multiple "flavors". It was originally
designed to run on top of Docker Compose but now offers multiple options
including Docker Stack, Rancher, Kubernetes.</p>
<p>Please note that "official" support, that is provided by the most active
developpers, will mostly cover Compose and Stack, while other flavors are
maintained by specific contributors.</p>
<div class="radio">
{{ macros.radio("flavor", "compose", "Compose", "simply using Docker Compose manager") }}
{{ macros.radio("flavor", "stack", "Stack", "using stack deployments in a Swarm cluster") }}
{{ macros.radio("flavor", "rancher", "Rancher", "on top of the Rancher container manager") }}
{{ macros.radio("flavor", "kubernetes", "Kubernetes", "on top of the Kubernetes container manager") }}
</div>
{% endcall %}

View File

@@ -0,0 +1,16 @@
{% call macros.panel("info", "Step 4 - enable optional features") %}
<p>Mailu also comes with less common optional features that you might wish
to enable.</p>
<p>The DAV service enables contacts and calendar storage through Mailu,
it is especially userful when synchronizing your desktop and mobile devices.</p>
<div class="form-group">
<label>Enable the DAV service (and path to the DAV service)</label>
<div class="input-group">
<div class="input-group-addon"><input type="checkbox" name="dav_enabled" checked></div>
<input class="form-control" type="text" name="admin_path" value="/webdav">
</div>
</div>
{% endcall %}

View File

@@ -0,0 +1,52 @@
{% call macros.panel("info", "Step 3 - pick some features") %}
<p>Mailu comes with multiple base features, including a specific admin
interface, Web email clients (webmails), antispam, antivirus, etc. If you
wish to disable some of these features, you are free to do so.</p>
<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">
<label>Enable the admin UI (and path to the admin UI)</label>
<div class="input-group">
<div class="input-group-addon"><input type="checkbox" name="admin_enabled" checked></div>
<input class="form-control" type="text" name="admin_path" value="/admin">
</div>
</div>
<p>Emails will be available through IMAP and POP3. You may also enable a Web
email client. These do add some complexity but provide an easier way of
accessing messages for beginner users.</p>
<div class="form-group">
<label>Enable Web email client (and path to the Web email client)</label>
<div class="input-group">
<div class="input-group-addon"><input type="checkbox" name="webmail_enabled" checked></div>
<input class="form-control" type="text" name="webmail_path" value="/webmail">
</div>
<p></p>
<div class="radio">
{{ macros.radio("webmail_type", "roundcube", "RoundCube", "popular Webmail running on top of PHP") }}
{{ macros.radio("webmail_type", "rainloop", "Rainloop", "lightweight Webmail based on PHP, no database") }}
</div>
</div>
<p>Email filtering is a really important features. You can still disable it, which
will prevent Mailu from doing spam filtering, virus filtering, and from applying
white and blacklists that you may configure in the admin interface. You may
also disable the antivirus if required (it does use aroung 1GB of ram).</p>
<div class="form-check form-check-inline">
<label class="form-check-label">
<input class="form-check-input" type="checkbox" name="antispam_enabled" checked>
Enable the filtering service
</label>
</div>
<div class="form-check form-check-inline">
<label class="form-check-label">
<input class="form-check-input" type="checkbox" name="antivirus_enabled" checked>
Enable the antivirus service
</label>
</div>
{% endcall %}

View File

@@ -0,0 +1,19 @@
{% extends "base.html" %}
{% block page %}
{% call macros.panel("warning", "Before starting, read the docs!") %}
Mailu is not perfectly documented, but still has a lot of documentation
available at <a href="https://mailu.io">mailu.io</a>. Make sure you read
the appropriate documentation for your setup and have all the requirements
ready when using this wizard.
{% endcall %}
<form method="post" action="{{ url_for(".submit") }}">
{% include "steps/flavor.html" %}
{% include "steps/expose.html" %}
{% include "steps/services.html" %}
{% include "steps/optional.html" %}
<input class="btn btn-primary" type="submit" value="Setup Mailu">
</form>
{% endblock %}