c1da586444
2526: Upgrade Snappymail to 2.21 and merge the webmail containers r=mergify[bot] a=nextgens ## What type of PR? enhancement ## What does this PR do? Upgrade Snappymail to 2.21 and merge the webmail containers. This will make the CI faster and should simplify things going forward (hardening but also allow running more than one webmail at the time, ...). - enable APCu - add new test to ensure we redirect to SSO and have disabled the admin panel - add all the packaged dictionaries for spell checking - harden the configuration of the webmails a bit (more to come in a separate PR) - turn off deprecation warnings (php8.1 is too new) - turn off error reporting (log them instead) - return HTTP302 when we should - gpg-verify the signature of the webmails we ship - upgrade to snappymail 2.21, switch to the new json config format - use socrates as it's meant to so that helm users can do their thing - run the HTTPd and PHP as different users - redirect the PHP errors to stderr ## Related issue(s) - closes #2466 - closes #948 - closes #2250 ## Prerequisites Before we can consider review and merge, please make sure the following list is done and checked. If an entry in not applicable, you can check it or remove it from the list. - [ ] In case of feature or enhancement: documentation updated accordingly - [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file. Co-authored-by: Florent Daigniere <nextgens@freenetproject.org> |
2 years ago | |
---|---|---|
.. | ||
flavors | 2 years ago | |
static | 3 years ago | |
templates | 2 years ago | |
.env | 6 years ago | |
Dockerfile | 3 years ago | |
README.md | 2 years ago | |
docker-compose.yml | 6 years ago | |
main.py | 7 years ago | |
requirements.txt | 3 years ago | |
server.py | 3 years ago |
README.md
Adding more flavors/steps
(Everything will go under setup/ directory - using Kubernetes flavor as example)
Until this point, the app is working as it follows:
- when accessing the setup page it will display the flavors selection step (
templates/steps/flavor.html
) - after you choose your desired flavor it will iterate over the files in the flavor directory and building the page
(
templates/steps/config.html is general for all flavors
) - when you complete all required fields and press "Setup Mailu" button it will redirect you to the setup page (
flavors/choosen-flavor/setup.html
)
To add a new flavor you need to create a directory under templates/steps/
in which you are adding actual steps.
Eg: Adding a WIP step we'll create templates/steps/kubernetes/wip.html
Note that wizard.html is iterating over files in this directory and building the page. Files are prefixed with a number for sorting purposes.
wip.html will start with
{% call macros.panel("info", "Step X - Work in progress") %}
and end with
{% endcall %}
You store variable from front-page using the name attribute inside tag.
In the example below the string entered in the input field is stored in the variable named var_test
<input type="text" name="var_test">
In order to use the variable further you use it like {{ var_test }}
In the setup page (flavors/kubernetes/setup.html
) you can add steps by importing macros
{% import "macros.html" as macros %}
and start and end every step with
{% call macros.panel("info", "Step X - Title") %}
-------------------
{% endcall %}
Generating a file
Create the file template in flavors/kubernetes/
(eg. file.txt) in which you save your variables
ROOT = {{ root }}
MY_VAR = {{ var_test }}
When you submit to Setup Mailu the file will be generated. In order to get the file add the following command to setup.html
<p>curl {{ url_for('.file', uid=uid, filepath='file.txt', _external=True) }} > file.txt</p>