Zenodo Container Registry

The fm-weck’s Zenodo feature lets you upload or publish your docker or podman images to your Zenodo account, and also pull any image using its DOI. When uploading or publishing, if a Zenodo deposition with the same name already exists on your Zenodo account, you will be prompted to choose between creating a new deposition or adding the chosen image as a new version of an existing deposition.

There is also an option to use the Zenodo Sandbox for testing purposes, by adding –sandbox flag to the original command.

Acquiring a new (Sandbox)Zenodo token

In order to create a personal access token you need to:

  1. Register for a Zenodo account if you don’t already have one.

  2. Go to your Applications, to create a new token.

Keep in mind that Zenodo and Sandbox-Zenodo use two different access tokens.

Setting up the token

In order to use upload and publish features you need to set up your Zenodo API token.

There are two ways to set up your token:

  1. By running:

fm-weck --token your_api_token

which saves the token inside a file called “.zenodo_token”, inside project’s main directory.

  1. By specifying the path to your custom token file inside fm-weck’s config file:

token_location = "relative/path/to/file"

The chosen file should contain the following entry: ZENODO_TOKEN=’your_api_token’

Uploading images

You can upload an image to Zenodo with the following command:

fm-weck push image_name

When an image is uploaded this way, it is left as a draft on your Zenodo account with the predefined metadata. You can then log in to your account and finish/edit the draft and publish manually.

Using the –sandbox flag

fm-weck push image_name --sandbox

uses the Zenodo Sandbox URL instead.

Publishing images

You can publish an image on Zenodo with the following command:

fm-weck publish image_name

When an image is published on Zenodo, there is no changing or editing its contents. This command should only be run if you are absolutely sure that the image is in its final state.

Using the –sandbox flag

fm-weck publish image_name --sandbox

uses the Zenodo Sandbox URL instead.

Pulling images

You can pull an image from Zenodo with the following command:

fm-weck pull image_doi

Pulling an image from Zenodo will download the image, load it into the container’s storage, and remove the downloaded file.

Using the –sandbox flag

fm-weck pull image_doi --sandbox

pulls an image that is published on Zenodo Sandbox.