This repository is the base for the datasafe-rdm instance, an InvenioRDM-based research data archive originally developed by the University of Münster. It contains custom vocabularies, theming, overridden Jinja templates and custom React components.
This is a public template release of the codebase: University of Münster-specific integrations, branding, legal
pages, and contact information have been removed or replaced with placeholder content marked TODO. See
Publishing this template below for what to still adapt before running your own instance.
This software is provided as is, without warranty of any kind, without support, and without any guarantee it is fit for a particular purpose — see LICENSE for the full MIT license text. The University of Münster and the contributors to this repository accept no responsibility or liability for data loss, service disruption, or any other damages arising from the use, deployment, or modification of this software. Use it at your own risk, and always maintain your own backups.
Before deploying your own instance, you will likely need to:
- Replace the placeholder legal pages in
app_data/pages/(terms.html(.de),faq.html(.de)) andsite/datasafe_rdm/templates/semantic-ui/datasafe_rdm/privacy.htmlwith your own terms of use, FAQ, and privacy policy. - Set your own contact address, logo, and branding (see the
TODOcomments ininvenio.cfgand in thetemplates/folder). - Regenerate the translation catalogs under
translations/andsite/datasafe_rdm/assets/semantic-ui/translations/datasafe_rdm/once you've adjusted the templates above, since they were extracted from the original University of Münster content (invenio-cli translations update). We build on top ofinvenio-translations-de-tugraz-experiment(Graz University of Technology) — installing that package and runninginvenio i18n distribute-js-translationsagainst it overrides the default German translations of every bundled InvenioRDM module, not just this instance's own strings, so it's worth checking upstream first before overriding a string here. - An example
Dockerfileis provided for building a container image, based on the official InvenioRDM base image. See the official InvenioRDM documentation for background, anddocker-services.yml/docker-compose.ymlfor the supporting services used in local development.
See INSTALL.md for more information.
The E2E testing approach starts from the end user’s perspective and simulates a real-world scenario.
To run end-to-end tests locally with selenium you have to do that outside of the devbox and in a separate virtual environment:
cd datasafe-rdm
python -m venv .venv-e2etest
source .venv-e2etest/bin/activate
pip install -r datasafe-rdm/tests/e2e/requirements.txt
pytest tests/e2e/You must have installed the browser which is used as a webdriver. In this case Firefox.
-- WIP --
To run unit tests locally you have to do that outside of the devbox and in a separate virtual environment:
cd datasafe-rdm
python -m venv .venv-unit
source .venv-unit/bin/activate
pytest site/tests| Name | Description |
|---|---|
app_data |
Application data such as vocabularies. |
assets |
Web assets (CSS, JavaScript, LESS, JSX templates) used in the Webpack build. |
Dockerfile |
Example Dockerfile for building a container image of the application. |
docker |
Example configuration for NGINX and uWSGI. |
docker-compose.full.yml |
Example of a full infrastructure stack. |
docker-compose.yml |
Backend services needed for local development. |
docker-services.yml |
Common services for the Docker Compose files. |
invenio.cfg |
The Invenio application configuration. |
logs |
Log files. |
static |
Static files that need to be served as-is (e.g. images). |
templates |
Folder for your Jinja templates. |
Copyright (C) 2023-2026 University of Münster.
datasafe-RDM is free software; you can redistribute it and/or modify it under the terms of the MIT License; see LICENSE file for more details.