mailcow / mailcow-dockerized

mailcow: dockerized - 🐮 + 🐋 = 💕
https://mailcow.email
GNU General Public License v3.0
8.95k stars 1.17k forks source link

Update base images #4606

Closed christianbur closed 2 years ago

christianbur commented 2 years ago

Summary

Mailcow currently uses base images in different versions, it would be great if we could update the outdated base images.

# mailcow container #########################################
             Alpine Linux v3.14"--3.14.2 -- ["'mailcowdockerized_ofelia-mailcow_1'"]
             Alpine Linux v3.14"--3.14.6 -- ["'mailcowdockerized_php-fpm-mailcow_1'"]
             Alpine Linux v3.15"--3.15.0 -- ["'mailcowdockerized_clamd-mailcow_1'"]
             Alpine Linux v3.15"--3.15.2 -- ["'mailcowdockerized_netfilter-mailcow_1'"]
             Alpine Linux v3.15"--3.15.4 -- ["'mailcowdockerized_acme-mailcow_1'", "'mailcowdockerized_dockerapi-mailcow_1'", "'mailcowdockerized_nginx-mailcow_1'", "'mailcowdockerized_olefy-mailcow_1'", "'mailcowdockerized_unbound-mailcow_1'", "'mailcowdockerized_watchdog-mailcow_1'"]
             Alpine Linux v3.16"--3.16.0 -- ["'mailcowdockerized_memcached-mailcow_1'", "'mailcowdockerized_redis-mailcow_1'"]
    Debian GNU/Linux 10 (buster)"--10.12 -- ["'mailcowdockerized_postfix-mailcow_1'"]
   Debian GNU/Linux 11 (bullseye)"--11.3 -- ["'mailcowdockerized_dovecot-mailcow_1'", "'mailcowdockerized_rspamd-mailcow_1'", "'mailcowdockerized_sogo-mailcow_1'", "'mailcowdockerized_solr-mailcow_1'"]
       Ubuntu 20.04.4 LTS"--bullseye/sid -- ["'mailcowdockerized_mysql-mailcow_1'"]

The following images should be updated:

php-fpm-mailcow Currently the base image php:8.0-fpm-alpine3.14 is used, I would suggest an update to php:8.0-fpm-alpine3.16 or php:8.0-fpm-alpine. (php docker tags: https://github.com/docker-library/docs/blob/master/php/README.md#supported-tags-and-respective-dockerfile-links)

netfilter-mailcow The images would need to be rebuilt and upload, this will update the base image from 3.15.2 to 3.15.4.

clamd-mailcow Currently the base image clamav/clamav:0.104.2-2_base is used, I would suggest an update to clamav:0.104_base or clamav:0.105_base. (clamav docker tags: https://hub.docker.com/r/clamav/clamav/tags)

ofelia-mailcow ofelia-mailcow is an external image, unfortunately the update policy is not optimal, so the base image is always outdated. The only thing that helps is to accept it or find an alternative.

postfix-mailcow Debian version 10.12 is still ok, but only postfix-mailcow is on this version, all other debian images are already on Debian 11.

General Alpine Linux With Alpine Linux 3.15.4 there is currently no need for action, but Alpine Linux 3.16 should be considered for future changes.

General The mailcow images are also 8 weeks old, maybe you should rebuild and upload all images (regularly).

# docker images |grep mailcow
mailcow/sogo                                    1.108             4f4f9d3df831   4 weeks ago    517MB
mailcow/netfilter                               1.47              fbc1191dc877   6 weeks ago    96.7MB
mailcow/postfix                                 1.66              92c8a3577611   8 weeks ago    274MB
mailcow/rspamd                                  1.90              022298d7a7ac   8 weeks ago    175MB
mailcow/dovecot                                 1.162             ff323cbaa28b   8 weeks ago    434MB
mailcow/unbound                                 1.15              a8d8b71dd0a7   8 weeks ago    16.9MB
mailcow/acme                                    1.81              64717db8c942   8 weeks ago    121MB
mailcow/phpfpm                                  1.78              aeb35270aed1   8 weeks ago    351MB
mailcow/watchdog                                1.96              d325bfdbae65   8 weeks ago    100MB
mailcow/solr                                    1.8.1             501bd71a4aee   8 weeks ago    450MB
mailcow/clamd                                   1.51              5fb3dc3e6307   8 weeks ago    32.1MB
mailcow/olefy                                   1.9               2d810d218355   8 weeks ago    112MB
mailcow/dockerapi                               1.41              a0f81bf0faa0   8 weeks ago    83.8MB

Info: I noticed that although there is mailcow/dovecot:1.17 on docker hub, mailcow/dovecot:1.162 is still used in docker-compose.yml.

Motivation

I am always motivated to use up-to-date software.

Additional context

No response

MAGICCC commented 2 years ago

The following images should be updated:

php-fpm-mailcow Currently the base image php:8.0-fpm-alpine3.14 is used, I would suggest an update to php:8.0-fpm-alpine3.16 or php:8.0-fpm-alpine. (php docker tags: https://github.com/docker-library/docs/blob/master/php/README.md#supported-tags-and-respective-dockerfile-links)

My last try with newer php-fpm version got blocked by https://github.com/php/php-src/issues/7986, but that was with alpine3.14. Looking into check later.

netfilter-mailcow The images would need to be rebuilt and upload, this will update the base image from 3.15.2 to 3.15.4.

Or generally to 3.16. Will also look into it later. https://github.com/mailcow/mailcow-dockerized/pull/4607

clamd-mailcow Currently the base image clamav/clamav:0.104.2-2_base is used, I would suggest an update to clamav:0.104_base or clamav:0.105_base. (clamav docker tags: https://hub.docker.com/r/clamav/clamav/tags)

Is in staging: https://github.com/mailcow/mailcow-dockerized/pull/4589

ofelia-mailcow ofelia-mailcow is an external image, unfortunately the update policy is not optimal, so the base image is always outdated. The only thing that helps is to accept it or find an alternative.

Indeed upstream is always a problem

postfix-mailcow Debian version 10.12 is still ok, but only postfix-mailcow is on this version, all other debian images are already on Debian 11.

Is in staging since some hours: https://github.com/mailcow/mailcow-dockerized/pull/4599

General The mailcow images are also 8 weeks old, maybe you should rebuild and upload all images (regularly).

Hm yes, I wanted to look into GH auto builds but I dont have so much time lately :(

DerLinkman commented 2 years ago

Yes Image Base Version Updates are a good idea.

Some Images are already built for testing purposes (like dovecot in this case)

Hm yes, I wanted to look into GH auto builds but I dont have so much time lately :(

I don´t feel it is a good idea to automate this process by a bot. At least with direct uploading to docker hub since OS Updates can change certaint things inside a mailcow container. So with other words: They have to be tested before their going live into production, which i don´t see if these are getting automated tbh.

MAGICCC commented 2 years ago

I don´t feel it is a good idea to automate this process by a bot. At least with direct uploading to docker hub since OS Updates can change certaint things inside a mailcow container. So with other words: They have to be tested before their going live into production, which i don´t see if these are getting automated tbh.

Yes thats the problem. But normally it shouldnt break anything when it rebuilds the same image all the time. It only updates some packages but yes you never know :)

christianbur commented 2 years ago

Thanks for the updates :-)

             Alpine Linux v3.14"--3.14.2 -- ["'mailcowdockerized_ofelia-mailcow_1'"]
             Alpine Linux v3.15"--3.15.4 -- ["'mailcowdockerized_clamd-mailcow_1'", "'mailcowdockerized_nginx-mailcow_1'", "'mailcowdockerized_watchdog-mailcow_1'"]
             Alpine Linux v3.16"--3.16.0 -- ["'mailcowdockerized_acme-mailcow_1'", "'mailcowdockerized_dockerapi-mailcow_1'", "'mailcowdockerized_memcached-mailcow_1'", "'mailcowdockerized_netfilter-mailcow_1'", "'mailcowdockerized_olefy-mailcow_1'", "'mailcowdockerized_php-fpm-mailcow_1'", "'mailcowdockerized_redis-mailcow_1'", "'mailcowdockerized_unbound-mailcow_1'"]
   Debian GNU/Linux 11 (bullseye)"--11.3 -- ["'mailcowdockerized_dovecot-mailcow_1'", "'mailcowdockerized_postfix-mailcow_1'", "'mailcowdockerized_rspamd-mailcow_1'", "'mailcowdockerized_sogo-mailcow_1'", "'mailcowdockerized_solr-mailcow_1'"]
       Ubuntu 20.04.4 LTS"--bullseye/sid -- ["'mailcowdockerized_mysql-mailcow_1'"]