Hi,
I just ran the update script. At the end of the update process container were not able to start and I received errors because the docker-compose file format version changed to 2.3 and my system's Docker engine version (1.12) does not support it. Indeed, I run Mailcow-dockerized on CoreOS and it only supports Docker compose version 2.1. Fortunately, I did not delete the old container images when asked and I had a backup of my modified docker-compose file.
Would that be technically possible to modify the update script to first show a message and ask for approbation before updating if the to-be-updated docker-compose file will now requires a higher Docker engine version ?
Thanks
There are two possible ways to "fix" this:
Either there are OS requirements that do not include CoreOS and there's nothing to do here.
Or we decide to include CoreOS in the supported OSes and have to work on this.
Are there others who need this?
We can consider it. 馃憤 Is there a roadmap etc. when they will support version xy?
I don't remember seing that Mailcow had explicit OS or Docker version requirements.
My point is that requirements indeed changed without me knowing and that broke my setup when I ran the Update script. So I was just asking if it was feasable in any technical way in the script to dynamicaly check if requirements are met before updating.
As for CoreOs, they plan to update to Docker engine 1.13 in October and then follow quickly with Docker newest version (ref: https://github.com/coreos/bugs/issues/1930#issuecomment-328696579). But even if they do this time there is nothing garantiing that in the future you will not decide to update to a higher version before CoreOs do. That's why I was asking if there is a way to check for requirements in the script, or maybe just inform of the new requirements in the docs and I will have a look there before updating.
Perhaps the update script could parse https://raw.githubusercontent.com/docker/docker.github.io/master/_includes/content/compose-matrix.md and check whether the Docker version installed supports the version currently set in docker-compose.yml.
I had the same dream
running MailCow on CoreOS
but CoreOS follow Docker-ee release which they still at 1.12 with docker-compose 2.1
and MailCow follow Docker-ce release which require docker-compose file format 2.3
Unless MailCow decide to slow down in their release cycle or maintain 2differents versions
It will be never possible ;(
for now to make MailCow compatible docker-compose file format 2.1
the main issue I have is init which was introduce in 2.2
which is requiered by theses : acme, clamd, fail2ban, mysql, rspamd, unbound
I can add pseudo init procs manually.
Without init in docker-compose it was working for me, but I must admit, I didn't understood the implication of this command
@andryyy I saw you made change in the dev branch; I'll test it
thanks for you're prompt reaction and modifiation :)
additionally this a big part of making the compose file work in docker swarm
Is mailcow compatible again with docker-compose file format 2.1 ?
If yes, I'll close the issue even if the upgrade script is not checking for a compatible docker engine.