Date: 2020-12-04
accepted
Currently the Wikibase Docker Images are built on travis and deployed to Dockerhub.
There are a number of existing docker repositories we could consider to host our images. We need not pick only one repository but for the purposes of documentaion and clarity we probably want a single canonical one then other repositories could then be “syndicated” from the canonical one.
Some key properties of existing registries were considered in the table below:
| Repository | Free to WMDE | Self-Service (1) | Tooling provided for a built-in pipeline | Visibility of built images (2) | Possibility of replication to repository | Restrictions on use of non-Wikimedia images |
|---|---|---|---|---|---|---|
| Dockerhub | Currently (3) | Yes | Static builds from dockerfile | High | Yes | no |
| Github Container registry | Currently | Yes | Github Actions | Medium | Yes | no |
| Google Container Registry | No (pay for storage and egress) | Yes | Google Cloud | Medium | Yes | no |
| AWS Container registry | No (pay for storage and egress) | Yes | Amazon Cloud | Medium | Yes | no |
| Azure Container Registry | No (some complex structure) | Yes | Azure Container Registry Tasks | Medium | Yes | no |
| WMF Docker Registry | Yes | No (negotiation needed) | https://wikitech.wikimedia.org/wiki/PipelineLib | Low | No (probably not) | Yes (only audited versions of specific images are allowed) (4) |
We will publish Docker release images to Dockerhub. Dockerhub is the goto location for publishing Docker images. We do not consider publishing Wikibase Docker Images to WMF Docker Registry yet, as its purpose is to hold images to be used in Wikimedia production infrastructure. This might change once Wikibase (i.e. MediaWiki and extensions) will be deployed using container images - not the case as of December 2020.
Publishing step of the Wikibase release pipeline will be adjusted to publish release Docker container images to Dockerhub (under https://hub.docker.com/u/wikibase).