From 1e9cae908491cd7c6cb2c35b30d7bc89a8c5e23f Mon Sep 17 00:00:00 2001 From: "andre.peters" Date: Mon, 8 Jan 2018 22:00:54 +0100 Subject: [PATCH] [Compose] New images with LOG_LINES [Update] Do not add empty line in each loop --- data/Dockerfiles/acme/docker-entrypoint.sh | 2 +- data/Dockerfiles/dovecot/Dockerfile | 3 ++- data/Dockerfiles/dovecot/syslog-ng.conf | 2 +- data/Dockerfiles/postfix/syslog-ng.conf | 2 +- data/Dockerfiles/sogo/syslog-ng.conf | 2 +- data/Dockerfiles/watchdog/watchdog.sh | 2 +- docker-compose.yml | 18 ++++++++++++------ generate_config.sh | 2 ++ update.sh | 9 ++++++++- 9 files changed, 29 insertions(+), 13 deletions(-) diff --git a/data/Dockerfiles/acme/docker-entrypoint.sh b/data/Dockerfiles/acme/docker-entrypoint.sh index 8d910e5d..057a0c30 100755 --- a/data/Dockerfiles/acme/docker-entrypoint.sh +++ b/data/Dockerfiles/acme/docker-entrypoint.sh @@ -12,7 +12,7 @@ log_f() { fi redis-cli -h redis LPUSH ACME_LOG "{\"time\":\"$(date +%s)\",\"message\":\"$(printf '%s' "${1}" | \ tr '%&;$"_[]{}-\r\n' ' ')\"}" > /dev/null - redis-cli -h redis LTRIM ACME_LOG 0 9999 > /dev/null + redis-cli -h redis LTRIM ACME_LOG 0 ${LOG_LINES} > /dev/null } if [[ "${SKIP_LETS_ENCRYPT}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then diff --git a/data/Dockerfiles/dovecot/Dockerfile b/data/Dockerfiles/dovecot/Dockerfile index 1da6678a..669f51ff 100644 --- a/data/Dockerfiles/dovecot/Dockerfile +++ b/data/Dockerfiles/dovecot/Dockerfile @@ -6,7 +6,7 @@ ENV LC_ALL C ENV DOVECOT_VERSION 2.2.33.2 ENV PIGEONHOLE_VERSION 0.4.21 -RUN apt-get update && apt-get -y install \ +RUN apt-get update && apt-get -y --no-install-recommends install \ automake \ autotools-dev \ build-essential \ @@ -56,6 +56,7 @@ RUN apt-get update && apt-get -y install \ make \ procps \ supervisor \ + cron \ syslog-ng \ syslog-ng-core \ syslog-ng-mod-redis \ diff --git a/data/Dockerfiles/dovecot/syslog-ng.conf b/data/Dockerfiles/dovecot/syslog-ng.conf index 216111f2..7677d1bf 100644 --- a/data/Dockerfiles/dovecot/syslog-ng.conf +++ b/data/Dockerfiles/dovecot/syslog-ng.conf @@ -35,7 +35,7 @@ destination d_redis_cleanup { host("redis-mailcow") persist-name("redis3") port(6379) - command("LTRIM" "DOVECOT_MAILLOG" "0" "9999") + command("LTRIM" "DOVECOT_MAILLOG" "0" "`LOG_LINES`") ); }; filter f_mail { facility(mail); }; diff --git a/data/Dockerfiles/postfix/syslog-ng.conf b/data/Dockerfiles/postfix/syslog-ng.conf index 9aa45e3a..2e36a1ae 100644 --- a/data/Dockerfiles/postfix/syslog-ng.conf +++ b/data/Dockerfiles/postfix/syslog-ng.conf @@ -35,7 +35,7 @@ destination d_redis_cleanup { host("redis-mailcow") persist-name("redis3") port(6379) - command("LTRIM" "POSTFIX_MAILLOG" "0" "9999") + command("LTRIM" "POSTFIX_MAILLOG" "0" "`LOG_LINES`") ); }; filter f_mail { facility(mail); }; diff --git a/data/Dockerfiles/sogo/syslog-ng.conf b/data/Dockerfiles/sogo/syslog-ng.conf index 51628353..d587b9b2 100644 --- a/data/Dockerfiles/sogo/syslog-ng.conf +++ b/data/Dockerfiles/sogo/syslog-ng.conf @@ -38,7 +38,7 @@ destination d_redis_cleanup { host("redis-mailcow") persist-name("redis3") port(6379) - command("LTRIM" "SOGO_LOG" "0" "9999") + command("LTRIM" "SOGO_LOG" "0" "`LOG_LINES`") ); }; log { diff --git a/data/Dockerfiles/watchdog/watchdog.sh b/data/Dockerfiles/watchdog/watchdog.sh index ec7133e5..e0da33de 100755 --- a/data/Dockerfiles/watchdog/watchdog.sh +++ b/data/Dockerfiles/watchdog/watchdog.sh @@ -37,7 +37,7 @@ log_msg() { redis-cli -h redis LPUSH WATCHDOG_LOG "{\"time\":\"$(date +%s)\",\"message\":\"$(printf '%s' "${1}" | \ tr '%&;$"_[]{}-\r\n' ' ')\"}" > /dev/null fi - redis-cli -h redis LTRIM WATCHDOG_LOG 0 9999 > /dev/null + redis-cli -h redis LTRIM WATCHDOG_LOG 0 ${LOG_LINES} > /dev/null echo $(date) $(printf '%s\n' "${1}") } diff --git a/docker-compose.yml b/docker-compose.yml index 7f7b548b..9428472a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -91,7 +91,7 @@ services: - rspamd php-fpm-mailcow: - image: mailcow/phpfpm:1.6 + image: mailcow/phpfpm:1.7 build: ./data/Dockerfiles/phpfpm command: "php-fpm -d date.timezone=${TZ} -d expose_php=0" depends_on: @@ -102,6 +102,7 @@ services: - dkim-vol-1:/data/dkim - ./data/conf/rspamd/meta_exporter:/meta_exporter:ro environment: + - LOG_LINES=${LOG_LINES} - TZ=${TZ} - DBNAME=${DBNAME} - DBUSER=${DBUSER} @@ -124,13 +125,14 @@ services: - phpfpm sogo-mailcow: - image: mailcow/sogo:1.12 + image: mailcow/sogo:1.13 build: ./data/Dockerfiles/sogo environment: - DBNAME=${DBNAME} - DBUSER=${DBUSER} - DBPASS=${DBPASS} - TZ=${TZ} + - LOG_LINES=${LOG_LINES} - MAILCOW_HOSTNAME=${MAILCOW_HOSTNAME} volumes: - ./data/conf/sogo/:/etc/sogo/ @@ -144,7 +146,7 @@ services: - sogo dovecot-mailcow: - image: mailcow/dovecot:1.13 + image: mailcow/dovecot:1.14 build: ./data/Dockerfiles/dovecot cap_add: - NET_BIND_SERVICE @@ -155,6 +157,7 @@ services: - vmail-vol-1:/var/vmail - crypt-vol-1:/mail_crypt/ environment: + - LOG_LINES=${LOG_LINES} - DBNAME=${DBNAME} - DBUSER=${DBUSER} - DBPASS=${DBPASS} @@ -181,7 +184,7 @@ services: - dovecot postfix-mailcow: - image: mailcow/postfix:1.10 + image: mailcow/postfix:1.11 build: ./data/Dockerfiles/postfix volumes: - ./data/conf/postfix:/opt/postfix/conf @@ -189,6 +192,7 @@ services: - postfix-vol-1:/var/spool/postfix - crypt-vol-1:/var/lib/zeyple environment: + - LOG_LINES=${LOG_LINES} - TZ=${TZ} - DBNAME=${DBNAME} - DBUSER=${DBUSER} @@ -256,11 +260,12 @@ services: depends_on: - nginx-mailcow - mysql-mailcow - image: mailcow/acme:1.26 + image: mailcow/acme:1.27 build: ./data/Dockerfiles/acme dns: - 172.22.1.254 environment: + - LOG_LINES=${LOG_LINES} - ADDITIONAL_SAN=${ADDITIONAL_SAN} - MAILCOW_HOSTNAME=${MAILCOW_HOSTNAME} - DBNAME=${DBNAME} @@ -300,12 +305,13 @@ services: - /lib/modules:/lib/modules:ro watchdog-mailcow: - image: mailcow/watchdog:1.11 + image: mailcow/watchdog:1.12 build: ./data/Dockerfiles/watchdog volumes: - vmail-vol-1:/vmail:ro restart: always environment: + - LOG_LINES=${LOG_LINES} - TZ=${TZ} - DBNAME=${DBNAME} - DBUSER=${DBUSER} diff --git a/generate_config.sh b/generate_config.sh index 34be645e..e34fb7cb 100755 --- a/generate_config.sh +++ b/generate_config.sh @@ -101,6 +101,8 @@ USE_WATCHDOG=n # Send notifications by mail (no DKIM signature, sent from watchdog@MAILCOW_HOSTNAME) #WATCHDOG_NOTIFY_EMAIL= +LOG_LINES=9999 + EOF mkdir -p data/assets/ssl diff --git a/update.sh b/update.sh index 461b2a2a..635be106 100755 --- a/update.sh +++ b/update.sh @@ -4,8 +4,10 @@ for bin in curl docker-compose docker git awk sha1sum; do if [[ -z $(which ${bin}) ]]; then echo "Cannot find ${bin}, exiting..."; exit 1; fi done +[[ ! -f mailcow.conf ]] && { echo "mailcow.conf is missing"; exit 1;} + CONFIG_ARRAY=("SKIP_LETS_ENCRYPT" "USE_WATCHDOG" "WATCHDOG_NOTIFY_EMAIL" "SKIP_CLAMD" "SKIP_IP_CHECK" "SKIP_FAIL2BAN" "ADDITIONAL_SAN" "DOVEADM_PORT") -echo >> mailcow.conf +sed -i '$a\' mailcow.conf for option in ${CONFIG_ARRAY[@]}; do if [[ ${option} == "ADDITIONAL_SAN" ]]; then if ! grep -q ${option} mailcow.conf; then @@ -27,6 +29,11 @@ for option in ${CONFIG_ARRAY[@]}; do echo "Adding new option \"${option}\" to mailcow.conf" echo "WATCHDOG_NOTIFY_EMAIL=" >> mailcow.conf fi + elif [[ ${option} == "LOG_LINES" ]]; then + if ! grep -q ${option} mailcow.conf; then + echo "Adding new option \"${option}\" to mailcow.conf" + echo "LOG_LINES=9999" >> mailcow.conf + fi elif ! grep -q ${option} mailcow.conf; then echo "Adding new option \"${option}\" to mailcow.conf" echo "${option}=n" >> mailcow.conf