diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5e793564..e413e7d3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,7 +10,7 @@ These settings tell Mailu that the HTTP header with the remote client IP address
For more information see the [configuration reference](https://mailu.io/1.9/configuration.html#advanced-settings).
One major change for the docker compose file is that the antispam container needs a fixed hostname [#1837](https://github.com/Mailu/Mailu/issues/1837).
-This is handled when you regenerate the docker-compose file. A fixed hostname is required to retain rspamd history.
+This is handled when you regenerate the docker compose file. A fixed hostname is required to retain rspamd history.
After changing mailu.env, it is required to recreate all containers for the changes to be propagated.
@@ -314,8 +314,8 @@ v1.6.0 - 2019-01-18
- Enhancement: Reverse proxy - Real ip header and mail-letsencrypt ([#358](https://github.com/Mailu/Mailu/issues/358))
- Enhancement: Parametrize hosts ([#373](https://github.com/Mailu/Mailu/issues/373))
- Enhancement: Expose ports in dockerfiles ([#392](https://github.com/Mailu/Mailu/issues/392))
-- Enhancement: Added webmail-imap dependency in docker-compose ([#403](https://github.com/Mailu/Mailu/issues/403))
-- Enhancement: Add environment variables to allow running outside of docker-compose ([#429](https://github.com/Mailu/Mailu/issues/429))
+- Enhancement: Added webmail-imap dependency in docker compose ([#403](https://github.com/Mailu/Mailu/issues/403))
+- Enhancement: Add environment variables to allow running outside of docker compose ([#429](https://github.com/Mailu/Mailu/issues/429))
- Enhancement: Add original Delivered-To header to received messages ([#433](https://github.com/Mailu/Mailu/issues/433))
- Enhancement: Use HOST_ADMIN in "Forwarding authentication server" ([#436](https://github.com/Mailu/Mailu/issues/436), [#437](https://github.com/Mailu/Mailu/issues/437))
- Enhancement: Use POD_ADDRESS_RANGE for Dovecot ([#448](https://github.com/Mailu/Mailu/issues/448))
diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md
index 7c05deae..fbc83ffb 100644
--- a/ISSUE_TEMPLATE.md
+++ b/ISSUE_TEMPLATE.md
@@ -19,7 +19,7 @@ Please put your text outside of the comment blocks to be visible. You can use th
### Environment
-- [ ] docker-compose
+- [ ] docker compose
- [ ] kubernetes
- [ ] docker swarm
@@ -61,7 +61,7 @@ Just saying "it doesn’t work as expected" is not useful. It's also helpful to
Often it is very useful to include log fragments of the involved component.
You can get the logs via `docker logs MX
points to this server"
+msgstr ""
+"Chcete-li zaregistrovat novou doménu, musíte nejprve nastavit\n"
+" zónu domény tak, aby doménový MX
záznam ukazovala na tento "
+"server"
+
+#: mailu/ui/templates/domain/signup.html:18
+msgid ""
+"If you do not know how to setup an MX
record for your DNS "
+"zone,\n"
+" please contact your DNS provider or administrator. Also, please wait a\n"
+" couple minutes after the MX
is set so the local server "
+"cache\n"
+" expires."
+msgstr ""
+"Pokud nevíte, jak nastavit MX
záznam pro zónu DNS,\n"
+" kontaktujte svého poskytovatele DNS nebo správce. Také prosím počkejte "
+"a\n"
+" několik minut po MX
tak, aby vypršela v mezipaměti "
+"místního\n"
+" serveru."
+
+#: mailu/ui/templates/fetch/create.html:4
+msgid "Add a fetched account"
+msgstr "Přidejte fetched účet"
+
+#: mailu/ui/templates/fetch/edit.html:4
+msgid "Update a fetched account"
+msgstr "Aktualizujte fetched účet"
+
+#: mailu/ui/templates/fetch/list.html:12
+msgid "Add an account"
+msgstr "Přidat účet"
+
+#: mailu/ui/templates/fetch/list.html:20
+msgid "Endpoint"
+msgstr "Koncový bod"
+
+#: mailu/ui/templates/fetch/list.html:22
+msgid "Keep emails"
+msgstr "Zachovat emaily"
+
+#: mailu/ui/templates/fetch/list.html:23
+msgid "Last check"
+msgstr "Poslední kontrola"
+
+#: mailu/ui/templates/fetch/list.html:24
+msgid "Status"
+msgstr "Status"
+
+#: mailu/ui/templates/fetch/list.html:38
+msgid "yes"
+msgstr "ano"
+
+#: mailu/ui/templates/fetch/list.html:38
+msgid "no"
+msgstr "ne"
+
+#: mailu/ui/templates/manager/create.html:4
+msgid "Add a manager"
+msgstr "Přidat manažera"
+
+#: mailu/ui/templates/manager/list.html:4
+msgid "Manager list"
+msgstr "Seznam manažerů"
+
+#: mailu/ui/templates/manager/list.html:12
+msgid "Add manager"
+msgstr "Přidat manažera"
+
+#: mailu/ui/templates/relay/create.html:4
+msgid "New relay domain"
+msgstr "Nová relay doména"
+
+#: mailu/ui/templates/relay/edit.html:4
+msgid "Edit relayed domain"
+msgstr "Upravit relay doménu"
+
+#: mailu/ui/templates/relay/list.html:4
+msgid "Relayed domain list"
+msgstr "Seznam relay domén"
+
+#: mailu/ui/templates/relay/list.html:9
+msgid "New relayed domain"
+msgstr "Nová relay doména"
+
+#: mailu/ui/templates/token/create.html:4
+msgid "Create an authentication token"
+msgstr "Vytvořit ověřovací token"
+
+#: mailu/ui/templates/token/list.html:12
+msgid "New token"
+msgstr "Nový token"
+
+#: mailu/ui/templates/user/create.html:4
+msgid "New user"
+msgstr "Nový uživatel"
+
+#: mailu/ui/templates/user/create.html:15
+msgid "General"
+msgstr "Všeobecné"
+
+#: mailu/ui/templates/user/create.html:23
+msgid "Features and quotas"
+msgstr "Funkce a kvóty"
+
+#: mailu/ui/templates/user/edit.html:4
+msgid "Edit user"
+msgstr "Upravit uživatele"
+
+#: mailu/ui/templates/user/list.html:4
+msgid "User list"
+msgstr "Seznam uživatelů"
+
+#: mailu/ui/templates/user/list.html:12
+msgid "Add user"
+msgstr "Přidat uživatele"
+
+#: mailu/ui/templates/user/list.html:20 mailu/ui/templates/user/settings.html:4
+msgid "User settings"
+msgstr "Uživatelské nastavení"
+
+#: mailu/ui/templates/user/list.html:22
+msgid "Features"
+msgstr "Funkce"
+
+#: mailu/ui/templates/user/password.html:4
+msgid "Password update"
+msgstr "Aktualizace hesla"
+
+#: mailu/ui/templates/user/reply.html:4
+msgid "Automatic reply"
+msgstr "Automatická odpověď"
+
+#: mailu/ui/templates/user/settings.html:27
+msgid "Auto-forward"
+msgstr "Automatické přeposlání"
+
+#: mailu/ui/templates/user/signup_domain.html:8
+msgid "pick a domain for the new account"
+msgstr "vybrat doménu pro nový účet"
+
+#: mailu/ui/templates/user/signup_domain.html:14
+msgid "Domain"
+msgstr "Doména"
+
+#: mailu/ui/templates/user/signup_domain.html:15
+msgid "Available slots"
+msgstr "Dostupných slotů"
diff --git a/design/mailu-directory-structure.md b/design/mailu-directory-structure.md
index 5d62c85d..69c666d7 100644
--- a/design/mailu-directory-structure.md
+++ b/design/mailu-directory-structure.md
@@ -88,7 +88,7 @@ If RFC issue #1222 is accepted, Dovecot will need read-only access to the certif
- Path: `/mailu/data/`
-Database files, like SQLite or PostgreSQL files. Databases don't perform well on network filesystems as they depend heavily on file locking and full controll on the database files. Making it unfit for concurrent access from multiple hosts. This directory should always live on a local filesystem. This makes it only usable in `docker-compose` deployments. Usage of this directory should be avoided in Kubernetes and Docker Swarm deployments. Some services will need to be improved to allow for this.
+Database files, like SQLite or PostgreSQL files. Databases don't perform well on network filesystems as they depend heavily on file locking and full controll on the database files. Making it unfit for concurrent access from multiple hosts. This directory should always live on a local filesystem. This makes it only usable in `docker compose` deployments. Usage of this directory should be avoided in Kubernetes and Docker Swarm deployments. Some services will need to be improved to allow for this.
#### admin data
@@ -138,7 +138,7 @@ In the old situation, Maildir indexes are stored on the same volume. However, th
- Path: `/mailu/local` (new)
-Persistent storage not suitable for replication. In `docker-compose` deployments it lives inside `/mailu` and in replicated deployments it should live somewhere on the local host machine.
+Persistent storage not suitable for replication. In `docker compose` deployments it lives inside `/mailu` and in replicated deployments it should live somewhere on the local host machine.
#### Mailqueue
@@ -185,7 +185,7 @@ The final layout of the Mailu filesystem will look like:
Where in replicated environments:
- `/mailu/config/`: should be a small, low performant and shared filesystem.
-- `/mailu/data`: should be avoided. More work will need to be done to configure external DB servers for relevant services. Ideally, this directory should only exist on docker-compose deployments.
+- `/mailu/data`: should be avoided. More work will need to be done to configure external DB servers for relevant services. Ideally, this directory should only exist on docker compose deployments.
- `/mailu/local/`: Should exist only on local file systems of worker nodes.
- `/mailu/mail`: A distributed filesystem with sufficient performance and storage requirements to hold and process all user mailboxes. Ideally only Maildir without indexes.
diff --git a/docs/antispam.rst b/docs/antispam.rst
index fb97e66a..7b0c7373 100644
--- a/docs/antispam.rst
+++ b/docs/antispam.rst
@@ -125,12 +125,12 @@ The following steps have to be taken to configure an additional symbol (rule) th
#This file is LIVE reloaded by rspamd. Any changes are EFFECTIVE IMMEDIATELY.
dummy.com
-3. Reload Rspamd by stopping the Rspamd container and starting the Rspamd container again. Example for docker-compose setup:
+3. Reload Rspamd by stopping the Rspamd container and starting the Rspamd container again. Example for docker compose setup:
.. code-block:: bash
- docker-compose scale antispam=0
- docker-compose scale antispam=1
+ docker compose scale antispam=0
+ docker compose scale antispam=1
4. (Optional) Check if the custom symbol is loaded. To access the Rspamd webgui, log in the Mailu administration web interface with a user that is an administrator and go to Antispam. In Rspamd webgui go to tab Symbols. Change the group drop-down box to local_bl. The following additional rule will be listed.
@@ -163,8 +163,8 @@ Mailu rejects emails with file attachements it deems to be "executable" or other
.. code-block:: bash
- docker-compose exec antispam cat /etc/rspamd/local.d/forbidden_file_extension.map > overrides/rspamd/forbidden_file_extension.map
- docker-compose restart antispam
+ docker compose exec antispam cat /etc/rspamd/local.d/forbidden_file_extension.map > overrides/rspamd/forbidden_file_extension.map
+ docker compose restart antispam
Now the file `overrides/rspamd/forbidden_file_extension.map` can be edited, to make changes to the forbidden file extensions list.
For the changes to take effect, rspamd must be restarted.
@@ -176,8 +176,8 @@ If configured to do so, Mailu uses a lightweight tool called `mraptor from oleto
.. code-block:: bash
- docker-compose exec antispam cat /etc/rspamd/local.d/composites.conf > overrides/rspamd/composites.conf
- docker-compose restart antispam
+ docker compose exec antispam cat /etc/rspamd/local.d/composites.conf > overrides/rspamd/composites.conf
+ docker compose restart antispam
Now the file `overrides/rspamd/composites.conf` can be edited, to override the mraptor configuration in rspamd.
For the changes to take effect, rspamd must be restarted.
diff --git a/docs/cli.rst b/docs/cli.rst
index 5513e41f..5f7bc690 100644
--- a/docs/cli.rst
+++ b/docs/cli.rst
@@ -19,7 +19,7 @@ alias
.. code-block:: bash
- docker-compose exec admin flask mailu alias foo example.net "mail1@example.com,mail2@example.com"
+ docker compose exec admin flask mailu alias foo example.net "mail1@example.com,mail2@example.com"
alias-delete
@@ -27,7 +27,7 @@ alias-delete
.. code-block:: bash
- docker-compose exec admin flask mailu alias-delete foo@example.net
+ docker compose exec admin flask mailu alias-delete foo@example.net
domain
@@ -35,7 +35,7 @@ domain
.. code-block:: bash
- docker-compose exec admin flask mailu domain example.net
+ docker compose exec admin flask mailu domain example.net
password
@@ -43,7 +43,7 @@ password
.. code-block:: bash
- docker-compose exec admin flask mailu password myuser example.net 'password123'
+ docker compose exec admin flask mailu password myuser example.net 'password123'
user
@@ -51,7 +51,7 @@ user
.. code-block:: bash
- docker-compose exec admin flask mailu user myuser example.net 'password123'
+ docker compose exec admin flask mailu user myuser example.net 'password123'
user-import
@@ -61,14 +61,14 @@ primary difference with simple `user` command is that password is being imported
.. code-block:: bash
- docker-compose run --rm admin flask mailu user-import myuser example.net '$6$51ebe0cb9f1dab48effa2a0ad8660cb489b445936b9ffd812a0b8f46bca66dd549fea530ce' 'SHA512-CRYPT'
+ docker compose run --rm admin flask mailu user-import myuser example.net '$6$51ebe0cb9f1dab48effa2a0ad8660cb489b445936b9ffd812a0b8f46bca66dd549fea530ce' 'SHA512-CRYPT'
user-delete
-----------
.. code-block:: bash
- docker-compose exec admin flask mailu user-delete foo@example.net
+ docker compose exec admin flask mailu user-delete foo@example.net
config-update
-------------
@@ -77,7 +77,7 @@ The sole purpose of this command is for importing users/aliases in bulk and sync
.. code-block:: bash
- cat mail-config.yml | docker-compose exec -T admin flask mailu config-update --delete-objects
+ cat mail-config.yml | docker compose exec -T admin flask mailu config-update --delete-objects
where mail-config.yml looks like:
@@ -131,7 +131,7 @@ The purpose of this command is to export the complete configuration in YAML or J
.. code-block:: bash
- $ docker-compose exec admin flask mailu config-export --help
+ $ docker compose exec -T admin flask mailu config-export --help
Usage: flask mailu config-export [OPTIONS] [FILTER]...
@@ -156,11 +156,11 @@ Attributes explicitly specified in filters are automatically exported: there is
.. code-block:: bash
- $ docker-compose exec admin flask mailu config-export --output mail-config.yml
+ $ docker compose exec admin flask mailu config-export --output mail-config.yml
- $ docker-compose exec admin flask mailu config-export domain.dns_mx domain.dns_spf
+ $ docker compose exec -T admin flask mailu config-export domain.dns_mx domain.dns_spf
- $ docker-compose exec admin flask mailu config-export user.spam_threshold
+ $ docker compose exec -T admin flask mailu config-export user.email user.spam_threshold
config-import
-------------
@@ -169,7 +169,7 @@ This command imports configuration data from an external YAML or JSON source.
.. code-block:: bash
- $ docker-compose exec admin flask mailu config-import --help
+ $ docker compose exec -T admin flask mailu config-import --help
Usage: flask mailu config-import [OPTIONS] [FILENAME|-]
@@ -184,11 +184,11 @@ This command imports configuration data from an external YAML or JSON source.
-n, --dry-run Perform a trial run with no changes made.
-?, -h, --help Show this message and exit.
-The current version of docker-compose exec does not pass stdin correctly, so you have to user docker exec instead:
+To pass stdin correctly you have to use the `-T` option:
.. code-block:: bash
- docker exec -i $(docker-compose ps -q admin) flask mailu config-import -nv < mail-config.yml
+ docker compose exec -T admin flask mailu config-import -nv < mail-config.yml
mail-config.yml contains the configuration and looks like this:
diff --git a/docs/compose/.env b/docs/compose/.env
index 265b4bad..e5e1edbf 100644
--- a/docs/compose/.env
+++ b/docs/compose/.env
@@ -138,7 +138,7 @@ WEBSITE=https://mailu.io
# Log driver for front service. Possible values:
# json-file (default)
# journald (On systemd platforms, useful for Fail2Ban integration)
-# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker-compose log` for front!)
+# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker compose log` for front!)
LOG_DRIVER=json-file
# Docker-compose project name, this will prepended to containers names.
diff --git a/docs/compose/requirements.rst b/docs/compose/requirements.rst
index a9ec6eab..3eacc017 100644
--- a/docs/compose/requirements.rst
+++ b/docs/compose/requirements.rst
@@ -91,7 +91,7 @@ The Docker website is full of `detailed instructions`_
about setting up a proper Docker install. Default configuration should be
suited for Mailu.
-Additionally, you must install ``docker-compose`` by following the instructions
+Additionally, you must install ``docker compose`` v2 by following the instructions
from the `Docker website`_ if you plan on using the Compose flavor. Compose is a
management tool for Docker, especially suited for multiple containers systems
like Mailu.
@@ -105,24 +105,34 @@ Once everything is setup, you should be able to run the following commands
.. code-block:: bash
$ docker version
- Client:
- Version: 1.11.2
- API version: 1.23
- Go version: go1.6.2
- Git commit: b9f10c9
- Built: Sun Jun 5 23:17:55 2016
- OS/Arch: linux/amd64
+ Client: Docker Engine - Community
+ Version: 20.10.22
+ API version: 1.41
+ Go version: go1.18.9
+ Git commit: 3a2c30b
+ Built: Thu Dec 15 22:27:03 2022
+ OS/Arch: linux/arm64
+ Context: default
+ Experimental: true
+
+ Server: Docker Engine - Community
+ Engine:
+ Version: 20.10.22
+ API version: 1.41 (minimum version 1.12)
+ Go version: go1.18.9
+ Git commit: 42c8b31
+ Built: Thu Dec 15 22:25:25 2022
+ OS/Arch: linux/arm64
+ Experimental: false
+ containerd:
+ Version: 1.6.14
+ GitCommit: 9ba4b250366a5ddde94bb7c9d1def331423aa323
+ runc:
+ Version: 1.1.4
+ GitCommit: v1.1.4-0-g5fd4c4d
+ docker-init:
+ Version: 0.19.0
+ GitCommit: de40ad0
- Server:
- Version: 1.11.1
- API version: 1.23
- Go version: go1.6.2
- Git commit: 5604cbe
- Built: Mon May 2 00:06:51 2016
- OS/Arch: linux/amd64
-
- $ docker-compose version
- docker-compose version 1.7.1, build 6c29830
- docker-py version: 1.8.1
- CPython version: 3.5.1
- OpenSSL version: OpenSSL 1.0.2h 3 May 2016
+ $ docker compose version
+ Docker Compose version v2.14.1
diff --git a/docs/compose/setup.rst b/docs/compose/setup.rst
index 57c9b761..f4c9c574 100644
--- a/docs/compose/setup.rst
+++ b/docs/compose/setup.rst
@@ -95,7 +95,7 @@ You may now start Mailu. Move the to the Mailu directory and run:
.. code-block:: bash
- docker-compose up -d
+ docker compose up -d
Finally, you need an admin user account.
@@ -106,7 +106,7 @@ Else, if you don't go with the automatic way, you need to manually create the ad
.. code-block:: bash
- docker-compose exec admin flask mailu admin me example.net 'password'
+ docker compose exec admin flask mailu admin me example.net 'password'
This will create a user named ``me@example.net`` with password ``password`` and administration privileges.
Connect to the Web admin interface and change the password to a strong one.
diff --git a/docs/contributors/environment.rst b/docs/contributors/environment.rst
index 25f6fbc0..d1b26787 100644
--- a/docs/contributors/environment.rst
+++ b/docs/contributors/environment.rst
@@ -153,25 +153,25 @@ After that you can run:
.. code-block:: bash
- docker-compose up -d
+ docker compose up -d
If you wish to run commands inside a container, simply run (example):
.. code-block:: bash
- docker-compose exec admin ls -lah /
+ docker compose exec admin ls -lah /
Or if you wish to start a shell for debugging:
.. code-block:: bash
- docker-compose exec admin sh
+ docker compose exec admin sh
Finally, if you need to install packages inside the containers for debugging:
.. code-block:: bash
- docker-compose exec admin apk add --no-cache package-name
+ docker compose exec admin apk add --no-cache package-name
Reviewing
---------
@@ -215,8 +215,8 @@ For example, to test PR #500 against master, reviewers can use:
export DOCKER_ORG="mailuci"
export MAILU_VERSION="pr-500"
- docker-compose pull
- docker-compose up -d
+ docker compose pull
+ docker compose up -d
You can now test the PR. Play around. See if (external) mails work. Check for whatever functionality the PR is
trying to fix. When happy, you can approve the PR. When running into failures, mark the review as
diff --git a/docs/database.rst b/docs/database.rst
index fa6a199e..31abc191 100644
--- a/docs/database.rst
+++ b/docs/database.rst
@@ -15,11 +15,11 @@ This means it is not possible to switch the database back-end used by roundcube
To switch to a different database back-end:
-1. Run config-export to export the configuration. E.g. `docker-compose exec admin flask mailu config-export --secrets --output mail-config.yml`
+1. Run config-export to export the configuration. E.g. `docker compose exec admin flask mailu config-export --secrets --output mail-config.yml`
2. Set up your new database server. Refer to the subsequent sections for tips for creating the database.
3. Modify the database settings (DB_*) in mailu.env. Refer to the :ref:`configuration guide (link)
-p mailu
flag for project name.
cd {{ root }}
-docker-compose -p mailu up -d
+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 +
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 diff --git a/tests/compose/core/00_create_users.sh b/tests/compose/core/00_create_users.sh index 2e36189f..26461966 100755 --- a/tests/compose/core/00_create_users.sh +++ b/tests/compose/core/00_create_users.sh @@ -1,11 +1,11 @@ echo "Users tests ..." # Should fail, admin is already auto-created -docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu admin admin mailu.io 'FooBar' && exit 1 +docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu admin admin mailu.io 'FooBar' && exit 1 echo "The above error was intended!" # Should not fail, but does nothing; ifmissing mode -docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu admin admin mailu.io 'FooBar' --mode=ifmissing || exit 1 +docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu admin admin mailu.io 'FooBar' --mode=ifmissing || exit 1 # Should not fail and update the password; update mode -docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu admin admin mailu.io 'password' --mode=update || exit 1 -docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu user user mailu.io 'password' || exit 1 -docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu user 'user/with/slash' mailu.io 'password' || exit 1 +docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu admin admin mailu.io 'password' --mode=update || exit 1 +docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu user user mailu.io 'password' || exit 1 +docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu user 'user/with/slash' mailu.io 'password' || exit 1 echo "User testing successful!" diff --git a/tests/compose/core/02_forward_test.sh b/tests/compose/core/02_forward_test.sh index a53fa459..43eb8f99 100755 --- a/tests/compose/core/02_forward_test.sh +++ b/tests/compose/core/02_forward_test.sh @@ -1,4 +1,4 @@ -cat << EOF | docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 +cat << EOF | docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 users: - localpart: forwardinguser password_hash: "\$1\$F2OStvi1\$Q8hBIHkdJpJkJn/TrMIZ9/" @@ -9,7 +9,7 @@ EOF python3 tests/forward_test.py -cat << EOF | docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 +cat << EOF | docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 users: - localpart: forwardinguser password_hash: "\$1\$F2OStvi1\$Q8hBIHkdJpJkJn/TrMIZ9/" diff --git a/tests/compose/core/03_alias_test.sh b/tests/compose/core/03_alias_test.sh index dce1918a..6de31580 100755 --- a/tests/compose/core/03_alias_test.sh +++ b/tests/compose/core/03_alias_test.sh @@ -1,4 +1,4 @@ -cat << EOF | docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 +cat << EOF | docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 aliases: - localpart: alltheusers domain: mailu.io @@ -7,6 +7,6 @@ EOF python3 tests/alias_test.py -cat << EOF | docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 +cat << EOF | docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 aliases: [] EOF diff --git a/tests/compose/core/04_reply_test.sh b/tests/compose/core/04_reply_test.sh index e1479cf0..b2402878 100755 --- a/tests/compose/core/04_reply_test.sh +++ b/tests/compose/core/04_reply_test.sh @@ -1,4 +1,4 @@ -cat << EOF | docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 +cat << EOF | docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 users: - localpart: replyuser password_hash: "\$1\$F2OStvi1\$Q8hBIHkdJpJkJn/TrMIZ9/" @@ -10,7 +10,7 @@ EOF python3 tests/reply_test.py -cat << EOF | docker-compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 +cat << EOF | docker compose -f tests/compose/core/docker-compose.yml exec -T admin flask mailu config-update -v 1 users: - localpart: replyuser password_hash: "\$1\$F2OStvi1\$Q8hBIHkdJpJkJn/TrMIZ9/" diff --git a/tests/compose/core/mailu.env b/tests/compose/core/mailu.env index 134b8e84..405d736f 100644 --- a/tests/compose/core/mailu.env +++ b/tests/compose/core/mailu.env @@ -128,7 +128,7 @@ WEBSITE=https://mailu.io # Log driver for front service. Possible values: # json-file (default) # journald (On systemd platforms, useful for Fail2Ban integration) -# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker-compose log` for front!) +# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker compose log` for front!) # LOG_DRIVER=json-file # Docker-compose project name, this will prepended to containers names. diff --git a/tests/compose/fetchmail/mailu.env b/tests/compose/fetchmail/mailu.env index 0cc263e2..dfc35a7a 100644 --- a/tests/compose/fetchmail/mailu.env +++ b/tests/compose/fetchmail/mailu.env @@ -128,7 +128,7 @@ WEBSITE=https://mailu.io # Log driver for front service. Possible values: # json-file (default) # journald (On systemd platforms, useful for Fail2Ban integration) -# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker-compose log` for front!) +# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker compose log` for front!) # LOG_DRIVER=json-file # Docker-compose project name, this will prepended to containers names. diff --git a/tests/compose/filters/00_create_users.sh b/tests/compose/filters/00_create_users.sh index 3c581685..137c1947 100755 --- a/tests/compose/filters/00_create_users.sh +++ b/tests/compose/filters/00_create_users.sh @@ -1,5 +1,5 @@ echo "Creating user required for next test ..." # Should not fail and update the password; update mode -docker-compose -f tests/compose/filters/docker-compose.yml exec -T admin flask mailu admin admin mailu.io 'password' --mode=update || exit 1 -docker-compose -f tests/compose/filters/docker-compose.yml exec -T admin flask mailu user user mailu.io 'password' || exit 1 +docker compose -f tests/compose/filters/docker-compose.yml exec -T admin flask mailu admin admin mailu.io 'password' --mode=update || exit 1 +docker compose -f tests/compose/filters/docker-compose.yml exec -T admin flask mailu user user mailu.io 'password' || exit 1 echo "User created successfully" diff --git a/tests/compose/filters/mailu.env b/tests/compose/filters/mailu.env index 2df09f61..ebf92b5a 100644 --- a/tests/compose/filters/mailu.env +++ b/tests/compose/filters/mailu.env @@ -128,7 +128,7 @@ WEBSITE=https://mailu.io # Log driver for front service. Possible values: # json-file (default) # journald (On systemd platforms, useful for Fail2Ban integration) -# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker-compose log` for front!) +# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker compose log` for front!) # LOG_DRIVER=json-file # Docker-compose project name, this will prepended to containers names. diff --git a/tests/compose/test.py b/tests/compose/test.py index 02575535..a9ec9bce 100755 --- a/tests/compose/test.py +++ b/tests/compose/test.py @@ -22,7 +22,7 @@ containers = [] def stop(exit_code): print_logs() sys.stdout.flush() - print(subprocess.check_output("docker-compose -f " + compose_file + " down", shell=True).decode()) + print(subprocess.check_output(f"docker compose -f {compose_file} down", shell=True).decode()) sys.exit(exit_code) def health_checks(deadline): @@ -88,7 +88,7 @@ def hooks(): sys.stdout.flush() deadline=datetime.datetime.now()+datetime.timedelta(minutes=timeout) deadline=calendar.timegm(deadline.timetuple()) -print(subprocess.check_output("docker-compose -f " + compose_file + " up -d", shell=True).decode()) +print(subprocess.check_output(f"docker compose -f {compose_file} up -d", shell=True).decode()) print() print(Fore.LIGHTMAGENTA_EX + "Sleeping for 10s" + Style.RESET_ALL) time.sleep(10) diff --git a/tests/compose/webdav/mailu.env b/tests/compose/webdav/mailu.env index f0842dd4..9d70c58d 100644 --- a/tests/compose/webdav/mailu.env +++ b/tests/compose/webdav/mailu.env @@ -128,7 +128,7 @@ WEBSITE=https://mailu.io # Log driver for front service. Possible values: # json-file (default) # journald (On systemd platforms, useful for Fail2Ban integration) -# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker-compose log` for front!) +# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker compose log` for front!) # LOG_DRIVER=json-file # Docker-compose project name, this will prepended to containers names. diff --git a/tests/compose/webmail/01_ensure_admin_unreachable.sh b/tests/compose/webmail/01_ensure_admin_unreachable.sh index 4fd78a1b..1d8a467e 100755 --- a/tests/compose/webmail/01_ensure_admin_unreachable.sh +++ b/tests/compose/webmail/01_ensure_admin_unreachable.sh @@ -1,6 +1,6 @@ #!/bin/bash -IP="$(docker inspect webmail_webmail_1|jq -r '.[0].NetworkSettings.Networks.webmail_default.IPAddress')" +IP="$(docker inspect webmail-webmail-1|jq -r '.[0].NetworkSettings.Networks.webmail_webmail.IPAddress')" MAIN_RETURN_CODE=$(curl -I -so /dev/null -w "%{http_code}" http://$IP/) [[ $MAIN_RETURN_CODE -ne 200 && $MAIN_RETURN_CODE -ne 302 ]] && echo "The default page of snappymail hasn't returned 200 but $MAIN_RETURN_CODE!" >>/dev/stderr && exit 1 diff --git a/tests/compose/webmail/docker-compose.yml b/tests/compose/webmail/docker-compose.yml index 5e106105..d61621d3 100644 --- a/tests/compose/webmail/docker-compose.yml +++ b/tests/compose/webmail/docker-compose.yml @@ -32,6 +32,9 @@ services: - "127.0.0.1:993:993" volumes: - "/mailu/certs:/certs" + networks: + - default + - webmail admin: image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-local} @@ -105,6 +108,8 @@ services: - "/mailu/webmail:/data" depends_on: - imap + networks: + - webmail networks: @@ -114,6 +119,8 @@ networks: driver: default config: - subnet: 192.168.203.0/24 + webmail: + driver: bridge noinet: driver: bridge internal: true diff --git a/tests/compose/webmail/mailu.env b/tests/compose/webmail/mailu.env index c1e0dff0..26fa5cdb 100644 --- a/tests/compose/webmail/mailu.env +++ b/tests/compose/webmail/mailu.env @@ -128,7 +128,7 @@ WEBSITE=https://mailu.io # Log driver for front service. Possible values: # json-file (default) # journald (On systemd platforms, useful for Fail2Ban integration) -# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker-compose log` for front!) +# syslog (Non systemd platforms, Fail2Ban integration. Disables `docker compose log` for front!) # LOG_DRIVER=json-file # Docker-compose project name, this will prepended to containers names. diff --git a/towncrier/newsfragments/2660.misc b/towncrier/newsfragments/2660.misc new file mode 100644 index 00000000..80905f3d --- /dev/null +++ b/towncrier/newsfragments/2660.misc @@ -0,0 +1 @@ +Change the instructions on how to setup fail2ban diff --git a/towncrier/newsfragments/2676.feature b/towncrier/newsfragments/2676.feature new file mode 100644 index 00000000..f2999c97 --- /dev/null +++ b/towncrier/newsfragments/2676.feature @@ -0,0 +1 @@ +Add Czech translation for web administration interface.