Image “dataverse-k8s”

Upstream Hub Pulls RTD Build

This container image enables you to run Dataverse, a Java EE based web application for research data management, on a container platform.

It is primarily targeted to be used in production on Kubernetes, but if you follow the same conventions, you should be able to use it with other tools like Docker or podman.

Supported tags

Quick reference

Below you will find some documentation about the image itself. To fully understand how to use it, you should go to the Dataverse Cloud & Container Guide. (This file is part of it.)

Important Directories

This image possesses a user dataverse with uid=1000. The application server is running as dataverse, not root. Please remember to grant write permission to this user on any volumes (except secrets) used for the below directories.

  • /opt/dataverse/secrets
    Mount secrets tree here. Also available as $SECRETS_DIR.
  • /data
    Mount a volume to save uploaded research data here. Used for temporary file storage only when using a remote storage like S3. You might need to replicate this data or place on a shared filestorage in multi-instance installations. Also available as $DATA_DIR.
  • /metadata
    Mount a volume here or use an init/sidecar container to deploy your custom metadata blocks in TSV format. Also available as $METADATA_DIR. Upstream metadata blocks are stored at /opt/dataverse/dvinstall/data/metadatablocks.
  • /docroot
    Mount a volume here to store i18n language bundle files, sitemaps, images for Dataverses, logos, custom themes and stylesheets, etc here. You might need to replicate this data or place on a shared filestorage in multi-instance installations. Also available as $DOCROOT_DIR.
  • /opt/dataverse/…
    Installation root of application server, WAR files, scripts etc. See Dockerfile for all details.

Secrets and Credentials

Currently understood secrets in the container, mounted at $SECRETS_DIR (see above) as a tree of directories and files:

  1. rserve/password - optional, only needed when using a RServe server.
  2. doi/password - needed when you use DOIs for PIDs.
  3. db/password - required - guess why?
  4. api/key - required because you want the unblock-key for anything serious.
  5. s3/access-key and s3/secret-key - needed when you want to use S3 storage. See docs on using S3.
  6. admin/password - optional, provision a password for the dataverseAdmin account. Defaults to admin1.

A password alias is automatically created and used for those that are set via JVM options, no need to provide them yourself.

During container startup, environment variables are used inside entrypoint scripts for the non-secret parts of credentials. See default.config for a list.

More about secrets can be found in the guide.

Update policy

Please be aware that future enhancements to scripting and more used to deploy and configure Dataverse will not be added to old releases (“fix forward”).

Nonetheless, only the latest and current stable image tag will receive any (security) updates released for underlying images. This happens as a scheduled build each night, pushing to Docker Hub. Please take care of updating, depending on your deployment.

You should be encouraged to update to the latest release ASAP. If you need to stay with a certain version, please feel free to open an issue.

Support Disclaimer

This image is maintained and supported by the Dataverse community. IQSS, Harvard, Cambridge is not providing support for it. Please find details how to contact the maintainers in the Dataverse Cloud & Container Guide.