From 920f817009df0c4ba7bd2d29f41173d85f993241 Mon Sep 17 00:00:00 2001 From: Florent Daigniere Date: Sun, 2 Apr 2023 17:08:30 +0200 Subject: [PATCH] LOG_DRIVER just doesn't work --- docs/compose/.env | 6 ------ docs/compose/docker-compose.yml | 20 +++++++++++++++++++- docs/compose/traefik/docker-compose.yml | 2 -- docs/faq.rst | 3 +-- setup/flavors/compose/docker-compose.yml | 20 +++++++++++++++++++- setup/flavors/compose/mailu.env | 6 ------ towncrier/newsfragments/2734.misc | 2 ++ 7 files changed, 41 insertions(+), 18 deletions(-) create mode 100644 towncrier/newsfragments/2734.misc diff --git a/docs/compose/.env b/docs/compose/.env index e5e1edbf..10bf03eb 100644 --- a/docs/compose/.env +++ b/docs/compose/.env @@ -135,12 +135,6 @@ WEBSITE=https://mailu.io # Advanced settings ################################### -# 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!) -LOG_DRIVER=json-file - # Docker-compose project name, this will prepended to containers names. COMPOSE_PROJECT_NAME=mailu diff --git a/docs/compose/docker-compose.yml b/docs/compose/docker-compose.yml index 344ea8b2..5bd62bad 100644 --- a/docs/compose/docker-compose.yml +++ b/docs/compose/docker-compose.yml @@ -9,7 +9,9 @@ services: restart: always env_file: .env logging: - driver: $LOG_DRIVER + driver: journald + options: + tag: docker-front ports: - "$BIND_ADDRESS4:80:80" - "$BIND_ADDRESS4:443:443" @@ -43,6 +45,10 @@ services: image: mailu/dovecot:$VERSION restart: always env_file: .env + logging: + driver: journald + options: + tag: docker-imap volumes: - "$ROOT/mail:/mail" - "$ROOT/overrides/dovecot:/overrides:ro" @@ -53,6 +59,10 @@ services: image: mailu/postfix:$VERSION restart: always env_file: .env + logging: + driver: journald + options: + tag: docker-smtp volumes: - "$ROOT/mailqueue:/queue" - "$ROOT/overrides/postfix:/overrides:ro" @@ -63,6 +73,10 @@ services: image: mailu/rspamd:$VERSION restart: always env_file: .env + logging: + driver: journald + options: + tag: docker-antispam volumes: - "$ROOT/filter:/var/lib/rspamd" - "$ROOT/dkim:/dkim:ro" @@ -88,6 +102,10 @@ services: image: mailu/admin:$VERSION restart: always env_file: .env + logging: + driver: journald + options: + tag: docker-admin volumes: - "$ROOT/data:/data" - "$ROOT/dkim:/dkim" diff --git a/docs/compose/traefik/docker-compose.yml b/docs/compose/traefik/docker-compose.yml index 25f341df..37e89827 100644 --- a/docs/compose/traefik/docker-compose.yml +++ b/docs/compose/traefik/docker-compose.yml @@ -35,8 +35,6 @@ services: image: mailu/nginx:$VERSION restart: always env_file: .env - logging: - driver: $LOG_DRIVER labels: # Traefik labels for simple reverse-proxying - "traefik.enable=true" - "traefik.port=80" diff --git a/docs/faq.rst b/docs/faq.rst index c7d9e3dc..4c9ea348 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -579,8 +579,7 @@ down brute force attacks. The same applies to login attempts via the single sign We *do* provide a possibility to export the logs from the ``front`` service and ``Admin`` service to the host. The ``front`` container logs failed logon attempts on SMTP, IMAP and POP3. The ``Admin`` container logs failed logon attempt on the single sign on page. -For this you need to set ``LOG_DRIVER=journald`` or ``syslog``, depending on the log -manager of the host. You will need to setup the proper Regex in the Fail2Ban configuration. +You will need to setup the proper Regex in the Fail2Ban configuration. Below an example how to do so. If you use a reverse proxy in front of Mailu, it is vital to set the environment variables REAL_IP_HEADER and REAL_IP_FROM. diff --git a/setup/flavors/compose/docker-compose.yml b/setup/flavors/compose/docker-compose.yml index 5e171130..a46879ef 100644 --- a/setup/flavors/compose/docker-compose.yml +++ b/setup/flavors/compose/docker-compose.yml @@ -26,7 +26,9 @@ services: restart: always env_file: {{ env }} logging: - driver: {{ log_driver or 'json-file' }} + driver: journald + options: + tag: docker-front ports: {% for port in (80, 443, 25, 465, 587, 110, 995, 143, 993) %} {% if bind4 %} @@ -66,6 +68,10 @@ services: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}admin:${MAILU_VERSION:-{{ version }}} restart: always env_file: {{ env }} + logging: + driver: journald + options: + tag: docker-admin {% if not admin_enabled %} ports: - 127.0.0.1:8080:80 @@ -85,6 +91,10 @@ services: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}dovecot:${MAILU_VERSION:-{{ version }}} restart: always env_file: {{ env }} + logging: + driver: journald + options: + tag: docker-imap volumes: - "{{ root }}/mail:/mail" - "{{ root }}/overrides/dovecot:/overrides:ro" @@ -100,6 +110,10 @@ services: image: ${DOCKER_ORG:-ghcr.io/mailu}/${DOCKER_PREFIX:-}postfix:${MAILU_VERSION:-{{ version }}} restart: always env_file: {{ env }} + logging: + driver: journald + options: + tag: docker-smtp volumes: - "{{ root }}/mailqueue:/queue" - "{{ root }}/overrides/postfix:/overrides:ro" @@ -131,6 +145,10 @@ services: hostname: antispam restart: always env_file: {{ env }} + logging: + driver: journald + options: + tag: docker-antispam {% if oletools_enabled %} networks: - default diff --git a/setup/flavors/compose/mailu.env b/setup/flavors/compose/mailu.env index dce1cb27..090f4d3a 100644 --- a/setup/flavors/compose/mailu.env +++ b/setup/flavors/compose/mailu.env @@ -158,12 +158,6 @@ DOMAIN_REGISTRATION=true # Advanced settings ################################### -# 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!) -# LOG_DRIVER={{ log_driver or 'json-file' }} - # Docker-compose project name, this will prepended to containers names. COMPOSE_PROJECT_NAME={{ compose_project_name or 'mailu' }} diff --git a/towncrier/newsfragments/2734.misc b/towncrier/newsfragments/2734.misc new file mode 100644 index 00000000..b81098b6 --- /dev/null +++ b/towncrier/newsfragments/2734.misc @@ -0,0 +1,2 @@ +Remove LOG_DRIVER which never worked and replace it with journald by default +Fix a bug where front may get attached to networks that don't exist