Synapse: Docker instructions say to use :latest, but :latest isn't a tag

Created on 18 Jun 2018  路  11Comments  路  Source: matrix-org/synapse

Please set up a build for it :)

p2

Most helpful comment

This should be fixed for future releases by #3946. Meanwhile I have manually pushed a latest tag today.

All 11 comments

Hmm. Where abouts do we suggest to use latest?

Can we have this fixed, please? I don't want to use "develop" tag as this may get updated to often. I do want to use and auto-upgrade to any stable release, which means that we need a moving tag for stable release. At this moment there is none.

@michaelkaye it's also in the (example) docker-compose.yml file:

9: image: docker.io/matrixdotorg/synapse:latest

Hmm. Where abouts do we suggest to use latest?

How about each release?

Based on the speed this is addresses I am inclined to believe that running Synalpse in a docker container is closer to a proof of concept than something that is likely to be named a production ready, even for small deployments.

I do run more than 20 docker containers on my home synology and all but one do have the latest tag and they are upgraded automatically by watchtower when a new version is releases.

The only exception so far seems to be matrix which does not have such a tag.

@ssbarnea This is definitely something that's on our radar, but docker hub does not support flexible enough tagging for this to work nicely in an automated way. If we move the building of docker images to our own CI system we would have much more flexibility, including having the latest tag reliably be built to be the most recent stable release.

If you check official library images with nice version tagging, for example postgres, you'll see that those are not automated builds on docker hub but are instead built on an external CI system. So far we've come to the conclusion that providing no latest tag and instead let people explicitly specify the version they want is better than providing one which doesn't necessarily represent the latest state.

Running synapse in a docker container is definitely not a proof of concept, there are a lot of people running this image in production, including me for my personal homeservers.

@jcgruenhage I maintain quite a few python packages but none of them is a service I didn't had to publish to docker but if I dig a little bit I am sure I could find some travis code to do the tag publishing and rename for dockerhub. I can dig it and find a way to do it.

I checked so far and found these tags: postgresql(latest), nginx(latest, stable), jenkins(lts), ubuntu(latest, devel), prometheus (master, latest).

So far synapse was the only container where I was not able to find a tag to "follow". Lucky for us it should not be hard to fix it. As already noted "develop" is changed too often to be safe for production but this does not mean that we should prevent users from pointing their setup to latest release/stable.

I am fully aware that there is a risk of failure when I update the container but I am ok if this happens on new releases instead of on new builds ;)

PS. I hope I didn't upset anyone with my proof of concept remark. I am really glad to hear that container version ca be used in production.

@ssbarnea If we get a PR for building and tagging the image properly on travis, we'll happily accept that, but currently we have other priorities, so it will take a while until we'll have time to invest into this. For now, having to be explicit about which version you want to run doesn't seem that bad.

Unless I'm missing something, getting the latest and 'develop' tags working doesn't need a PR, it just needs a single config change on docker hub - specify the latest push to dev and master go to those tags.

This should be fixed for future releases by #3946. Meanwhile I have manually pushed a latest tag today.

Was this page helpful?
0 / 5 - 0 ratings