eWaterCycle / eWaterCycle/ewatercycle

For long term reproducibility, consider (recommending) uploading containers to Zenodo

Open
#488 0 comments 0 reactions 0 assignees View on GitHub
documentation enhancement models
Dominant language
Python
Stars
41
Forks
6
Avg merge
8d 23h
Merged PRs (30d)
2

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](https://blog.alexellis.io/docker-is-deleting-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](https://github.com/eWaterCycle/ewatercycle-hype/issues/5#issuecomment-3323666778)).

[Codeberg](https://codeberg.org/) 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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.