Announcing InvenioRDM Starter Beta

Today I am happy to announce the first beta release of InvenioRDM Starter. InvenioRDM is an open source repository management platform developed by more than 25 organizations coordinated by CERN. The release of the next major version (v12.0) will happen in a few weeks, with the second release candidate released on May 31st. InvenioRDM Starter aims to make installing InvenioRDM easy via a prebuilt Docker image and Docker Compose file.

In May 2023 I wrote about the importance of Docker and Docker Compose for simplifying deployment of complex web applications, mentioning InvenioRDM as an example. A lot has happened with InvenioRDM since, including the migration of Zenodo to the InvenioRDM platform in October 2023, the first in-person workshop after COVID by InvenioRDM partners in March 2024, and the imminent release of version v12.0. Front Matter is helping with the development of InvenioRDM as one of the project partners, and my primary use case is the migration of the Rogue Scholar science blogging archive to the InvenioRDM platform. With the stable release of v12.0 (v11.0 was released in January 2023) I can now finally address this migration, which will happen in three stages:

  • setting up a production InvenioRDM instance for Rogue Scholar,
  • rewrite missing functionality as InvenioRDM API integration or Python module(s),
  • bring everything together and relaunch Rogue Scholar.

This migration will take about six months (i.e. until the end of 2024), and InvenioRDM Starter announced in Beta today is the first step. Over the coming weeks, I will tweak the InvenioRDM Starter package to fix several outstanding issues, refine the layout, set up custom pages, and of course help with the release of InvenioRDM v12.0.

The traditional approach in the InvenioRDM project (and ideal for development) is starting with a Python development environment with the help of the invenio-cli command-line application. For production deployments this is often not ideal, and invenio-cli can sometimes be challenging for a quick demo of InvenioRDM (the local setup is not trivial and has many dependencies). InvenioRDM Starter provides an alternative for these situations: the only requirement is a local installation of Docker Desktop (Mac, Windows) or Docker Engine (Linux), and the prebuilt Docker image can be downloaded from the GitHub Container Registry (with versions both for linux/amd64 and linux/arm64). With a stable network connection it should not take longer than 15 min to have InvenioRDM Starter up and running, and the process is documented on the InvenioRDM Starter documentation website.

InvenioRDM Starter differs in several details from the standard configuration provided by invenio-cli:

  • invenio-cli, a local Python installation and a Python virtual environment are not used on the host computer.
  • The invenio-app-rdm prebuilt Docker image provided by InvenioRDM Starter is used instead of building the image locally.
  • Debian Bookworm is used as the Docker image Linux distribution instead of Almalinux.
  • The Docker image uses Python 3.12 (not 3.9) and Node 20 (not 18).
  • The Docker image uses gunicorn as the WSGI server instead of uwsgi.
  • Docker Compose uses Caddy as the reverse proxy server instead of Nginx. InvenioRDM Starter will run locally at https://localhost, and uses a self-signed SSL certificate issued by Caddy:
  • Docker Compose uses Redis as the message broker instead of RabbitMQ
  • Initial setup happens via a script running at container startup instead of via invenio-cli.

High-level Planning has started for the second stage of the Rogue Scholar migration. Some of the functionalities that need to be rewritten are:

  • Automatic extraction of metadata and full-text from blog RSS feeds,
  • DOI registration with Crossref,
  • Full-text search,
  • Automatic conversion of full-text from markdown into PDF and other formats.

Some of these functionalities are of broader interest to the InvenioRDM community (e.g. full-text search), and I will explore how to coordinate with other InvenioRDM project partners and how to migrate them from the current implementation.

If you have any questions regarding InvenioRDM Starter, please reach out to me via email or in the comments.

References

Fenner, M. (2023, May 16). Does it compose? Front Matter. https://doi.org/10.53731/4nwxn-frt36

Zenodo launched on next generation platform—InvenioRDM 🚀. (n.d.). Retrieved June 17, 2024, from https://blog.zenodo.org/2023/10/13/2023-10-13-zenodo-rdm/

InvenioRDM Partner Meeting / Developer Workshop: Action Items—Inveniosoftware.org. (n.d.). Retrieved June 17, 2024, from https://invenio-software.org/blog/2024-04-25-project-meeting-actions/