This is the source repsository for CaltechAUTHORS, Caltech's Institutional Publications Repository. It is an instance of the InvenioRDM repository platform.
- Introduction
- Installation
- Usage
- Known issues and limitations
- Getting help
- Contributing
- License
- Authors and history
- Acknowledgments
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.
We currently deploy CaltechAUTHORS on a m7i.xlarge AWS EC2 instance with Ubuntu 24.04. We use this cloud-init file to do most of the initial setup.
We haven't gotten NVM to install with cloud-init. Run curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
, then
reboot and type nvm install 18
cd caltechauthors
invenio-cli install
invenio-cli services setup --no-demo-data
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_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
Load affiliations and funders with the built-in jobs settings in the administration panel.
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
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
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!
cd /Sites/caltechauthors
sudo systemctl stop nginx
sudo systemctl stop rdm
sudo systemctl stop rdm_rest
sudo systemctl stop rdm_celery
invenio-cli services stop
cd /Sites/caltechauthors
invenio-cli services start
sudo systemctl start rdm_celery
sudo systemctl start rdm_rest
sudo systemctl start rdm
sudo systemctl start nginx
These insttallation instructions are intended for this specific Caltech deployment, and you may need to modify them to work for your specific configuration.
Please open an issue or pull request if you notice any problems or have questions.
Please see our Contributing guidelines
Software produced by the Caltech Library is Copyright © 2024-2-25 California Institute of Technology. This software is freely distributed under a BSD/MIT type license. Please see the LICENSE file for more information.
Tom Morrell led the CaltechDATA InvenioRDM development. Tommy Keswick helped with themeing and site design. Robert Doiel managed our v12 upgrade and backup processes. TUGraz and all the other InvenioRDM partners were instrumental in getting all the customizations working.
This work was funded by the California Institute of Technology Library.