Invenio is a free, open-source software framework for building digital repositories to manage and preserve research output. In this tutorial, we will walk you through the process of installing InvenioRDM on Arch Linux.
Before installing InvenioRDM, ensure that you have the following prerequisites:
Open the terminal and navigate to the directory where you want to clone the InvenioRDM repository. Then, enter the following command to clone the repository:
$ git clone https://github.com/inveniosoftware/invenio-rdm.git
Next, create a python virtual environment to install InvenioRDM's necessary packages without affecting the system-wide Python installation. To create a new environment, run the following command:
$ python3 -m venv myenv
After creating the virtual environment, activate it:
$ source myenv/bin/activate
InvenioRDM requires several dependencies for both development and production environments. You can install all of them together by running the following command inside the virtual environment:
$ cd invenio-rdm
$ pip install -r requirements.txt
InvenioRDM uses a PostgreSQL database. If you don't have it installed already, install it by running the following command in your terminal:
$ sudo pacman -S postgresql
After installation, initialize the database, create a new user, and seed the database by running the following commands:
$ sudo -u postgres psql
postgres=# CREATE DATABASE invenio_rdm;
postgres=# CREATE USER invenio_rdm WITH ENCRYPTED PASSWORD 'password';
postgres=# GRANT ALL PRIVILEGES ON DATABASE invenio_rdm TO invenio_rdm;
postgres=# \q
$ export FLASK_APP='invenio_app.factory:create_app'
$ flask init run
You can now run InvenioRDM by running the following command in the terminal:
$ flask run
You can then open a web browser and navigate to http://localhost:5000
to access the InvenioRDM web interface.
Congratulations! You have successfully installed InvenioRDM on Arch Linux. You can now customize your instance and start managing and preserving your research output.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!