I've said it before and I'll say it again Mailcow is great! 馃憤 Thanks @andryyy and team.
What I want to address is the point of fragmentation.
Various systems are used for the Mailcow Docker containers.
For instance: Xenial, Bionic, Stretch, Alpine- 3,6 and 3.8 containers.
Is it an idea to introduce a solid container core here with one preferred system?
For example only Alpine 3.8 unless it can not be done otherwise.
Thanks.
I think this would be great. The only question would be if the software the containers run can run in for example lets say Alpine 3.8.
I tried to switch some images to Alpine and run into several problems (esp. Alpine and Postfix with DANE). It seems to work fine first but many thinks were broken after all.
SOGo will not work with Alpine due to GNUstep (or only with a lot of work?).
Rspamd had a strange bug in Stretch containers.
You don't gain much disk space by removing a single base.
I will mark it as enhancement.
Edit: At least Alpine should be 3.8 for all Alpine images with the next push.
I can confirm what @andryyy said I just tried to switch all containers to Alpine and failed. But I think the containers running Alpine 3.6 could be updated to 3.8 what do you think? :)
Yes, I just did. :-) Let me run some checks first.
Whoo thanks for all those reactions.
Good to see that there is so much community effort in terms of people who want to think along.
@andryyy if you ask me it is not about saving in disk space but creating a solid base with one or 2 containers. And avoiding fragmentation in which 5 or more different containers are used.
As @ntimo writes: "if the software the containers run can run in for example lets say Alpine 3.8."
It would be great if Alpine 3.8 forms the core unless it can not be done differently.
Alpine 3.8 and otherwise Bionic (or a fixed second choice to be determined).
For example you would get: (it is compatible, although not formally tested)
acme/alpine 3.6 < 3.8
dovecot/stretch , bionic
phpfpm/alpine 3.7 < 3.8
rspamd/xenial < bionic
sogo/stretch < bionic
watchdog/alphine 3.6 < 3.8
Of course I understand that this is not a 0 day change, not even in the near future.
It is more to think about in future pushes when a container needs to be updated.
You don鈥檛 ask to put everything in a single (or two or three) containers, do you?
Changing the base will not put everything in a single container, which is stupid in many ways (edit: not saying @xetorixik is stupid, sorry...). :/
Using one container for one app is what docker is for (though we violate it in some containers).
Pleeeease stop asking to put everything in one container.
You don鈥檛 ask to put everything in a single (or two or three) containers, do you?
Changing the base will not put everything in a single container, which is stupid in many ways. :/
That's right.
It concerns the system to be used as a container with one or two preferred (*i.e. 3.8 and bionic)
and not 5 like now.
Not putting all together. I do not think that is a matter of debate.
And yes sometimes I am stupid :)
That鈥檚 not what Docker is good for. We would use VMs then. Or anything else.
It is not fragmented. It was made to be one container per app.
I was not trying to say you are stupid, sorry.
It is not fragmented. It was made to be one container per app.
I know that it is made one container an app.
Just therefore use as much the same operation system for all the individual containers if possible 馃憤
alpine 3.8 and if the container can't run the specific app, then i.e. Bionic.
I was not trying to say you are stupid, sorry.
I know that. It was a joke on my part. Hence the smilie. :)
You are a great person with a great project.
@andryyy I think what @xetorixik wants to say is that all Alpine containers should run on alpine 3.8 and all non alpine containers on ubuntu bionic this way you always have to latest version of these linux distributions :)
@andryyy @ntimo Thanks for your reply.
Almost 馃憤
I don't care about the latest version.
It is about that the same distribution duo is used for all containers.
So all containers on Alpine 3.6 and non Alpine containers on Xenial, if Alpine can't run the APP should fine to.
Now 6 distributions are used. What, in my opinion, is a lot. Maybe to much.
Xenial, Bionic, Stretch and Alpine 3.6, 3.7 and 3.8.
Perhaps my topic start is not well formulated.
I will do my best to better describe this in the future.
Thanks.
Nice... Great to see all those new Alpine 3.8 containers: https://github.com/mailcow/mailcow-dockerized/commits/master Keep On Pushing 馃憤
I think Alpine is now 3.8 everywhere.
I think Alpine is now 3.8 everywhere.
Awesome @andryyy
if you ask me. On to the the remaining Xenial, Bionic, Stretch containers < to Bionic, Xenial or whatever you want.
Keep On Pushing 馃挴
@andryyy As Rspamd 1.8.1 is released today.
It could be a nice opportunity to update the Xenial container to a new generic second operating system like Bionic. Next to first choice Alpine 3.8
Si, I will push it soon. I just had to run some tests. It will be based on Bionic then.
@andryyy Whootie, do you realize how good you are?
+100 for Andr茅 馃挴
+100 for Andr茅 馃挴
WE(!) can make him realize this by joining https://liberapay.com/mailcow