-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Currently many container images are hosted on Docker Hub or the GitHub container registry. These are commercial entities, which won't necessarily keep the container images available "forever". Back in 2023 Docker Hub almost deleted many open source images due to changes in plans (no more open source free organizations). In the end this did not happen because of the backlash they faced, but you can't be ensured these images stay available.
Saving only the Dockerfile definitions (on a git repo + zenodo archive) is also not sufficient, as you cannot always rebuild old images if the source data changes (e.g. google butchered moving grpc to a new repo structure, so old versions cannot be git cloned w/ submodules anymore).
Codeberg is an free & open source alternative git-hosting service which also allows for publishing packages. They're a non-profit Germany entity which good, but don't have stable long-term funding (yet). If/once they do this would be a good location for publishing containers.
Which leaves only a repository such as Zenodo or 4TU for long term container storage (20+ and 15+ years respectively). Luckily there is also this python package; https://github.com/pauleve/donodo which allows for directly pushing and pulling images to/from Zenodo. This would be relatively easy to integrate into an existing Docker build/push action.
Archiving existing containers would take more work, but you can probably write a thin wrapper around denodo to do this semi-automatically.