Skip to content

caltechlibrary/caltechauthors

Repository files navigation

CaltechAUTHORS

This is the source repsository for CaltechAUTHORS, Caltech's Institutional Publications Repository. It is an instance of the InvenioRDM repository platform.

License Latest release

Table of contents

Introduction

This repository was initialized following the InvenioRDM instructions/. It was then customized to meet the needs of the Caltech community. This is only one deployment example, and may or not be appropriate for your specific institution and IT setup.

Installation

We currently deploy CaltechAUTHORS on a m6i.xlarge AWS EC2 instance with Ubuntu 22.04. We use this cloud-init file to do most of the initial setup.

Install NVM

We haven't gotten NVM to install with cloud-init. Run curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash, then reboot and type nvm install 16

Install InvenioRDM

We use a local copy of idutils with custom identifiers

git clone https://github.com/caltechlibrary/idutils.git
cd idutils
git checkout authors
cd ../caltechauthors
pipenv install
invenio-cli packages install ../idutils
invenio-cli services setup --no-demo-data

You'll also need to install the new-authors branch of https://github.com/caltechlibrary/invenio-rdm-records and authors branches of https://github.com/caltechlibrary/invenio-communities.git and https://github.com/caltechlibrary/invenio-app-rdm You'll need a .env file in /Sites, which includes secrets:

INVENIO_DATACITE_PASSWORD=
INVENIO_SECRET_KEY=
INVENIO_S3_ACCESS_KEY_ID=
INVENIO_S3_SECRET_ACCESS_KEY=
INVENIO_LOGGING_CONSOLE_LEVEL=
INVENIO_MAIL_PASSWORD=

Edit /etc/sysctl.conf and add vm.max_map_count=262144

This configuration uses S3 for storage. You need to change the bucket name with

pipenv run invenio files location s3-default s3://caltechauthors --default

Add access to the admin panel pipenv run invenio access allow administration-access role admin

Get the latest ROR data from https://doi.org/10.5281/zenodo.6347574 and import the funders vocabulary with

wget https://zenodo.org/record/7038913/files/v1.5-2022-08-31-ror-data.zip?download=1 -O ror.zip
pipenv run invenio vocabularies import --vocabulary funders --origin "/Sites/caltechdata/ror.zip"

We have a local awards list, generated by https://github.com/caltechlibrary/irdmtools awards2vocabulary.py. Load into RDM with

pipenv run invenio vocabularies import --vocabulary awards --filepath ./vocabularies-future.yaml

We have a local CaltechPEOPLE list, which is loaded with

pipenv run invenio vocabularies import --vocabulary names --filepath ./vocabularies-future.yaml

Domain Configuration

You'll need a domain name, and set an A record to point the domain name to your AWS instance.

Move nginx.conf to /etc/nginx/sites-enabled/default

Copy redirect-map.conf to /etc/nginx/

Get a certificate with sudo certbot --nginx

Restart nginx with sudo service nginx restart

Systemctl

We need three services to run InvenioRDM. Set them up with

sudo cp rdm_rest.service /etc/systemd/system/.
sudo cp rdm.service /etc/systemd/system/.
sudo cp rdm_celery.service /etc/systemd/system/.
sudo systemctl daemon-reload
sudo systemctl start rdm
sudo systemctl start rdm_rest
sudo systemctl start rdm_celery

You should now have a InvenioRDM repository fully running!

Usage

Stopping InvenioRDM

cd /Sites/caltechdata
sudo systemctl stop nginx
sudo systemctl stop rdm
sudo systemctl stop rdm_rest
sudo systemctl stop rdm_celery
invenio-cli services stop

Starting InvenioRDM

cd /Sites/caltechdata
invenio-cli services start
# Make sure there are no errors in the invenio-saml install
sudo systemctl start rdm_celery
sudo systemctl start rdm_rest
sudo systemctl start rdm
sudo systemctl start nginx

Known issues and limitations

These insttallation instructions are intended for this specific Caltech deployment, and you may need to modify them to work for your specific configuration.

Getting help

Please open an issue or pull request if you notice any problems or have questions.

Contributing

Please see our Contributing guidelines

License

Software produced by the Caltech Library is Copyright © 2024 California Institute of Technology. This software is freely distributed under a BSD/MIT type license. Please see the LICENSE file for more information.

Authors and history

Tom Morrell led the CaltechDATA InvenioRDM development. Tommy Keswick helped with themeing and site design. TUGraz and all the other InvenioRDM partners were instrumental in getting all the customizations working.

Acknowledgments

This work was funded by the California Institute of Technology Library.