Skip to content

Commit 83b2a2c

Browse files
committed
Add README
1 parent c133051 commit 83b2a2c

File tree

1 file changed

+111
-27
lines changed

1 file changed

+111
-27
lines changed

README.md

Lines changed: 111 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# CaltechDATA repository using InvenioRDM
1+
# CaltechDATA
22

33
This is the source repsository for CaltechDATA, Caltech's Institutional Data
4-
and Software Repository. The repository is currently migrating to InvenioRDM
5-
and is a work in progress.
4+
and Software Repository. It is an instance of the [InvenioRDM repository
5+
platform](https://inveniosoftware.org/products/rdm/).
66

77
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg?color=orange)](https://choosealicense.com/licenses/bsd-3-clause)
88
[![Latest release](https://img.shields.io/github/v/release/caltechlibrary/template.svg?color=b44e88)](https://github.com/caltechlibrary/template/releases)
@@ -24,51 +24,133 @@ and is a work in progress.
2424

2525
## Introduction
2626

27-
This repository is a GitHub template repository for creating software project repositories at the Caltech Library. The [associated wiki page](https://github.com/caltechlibrary/template/wiki/Using-this-template-repo) explains how to use the template repository.
27+
This repository was initialized following [the InvenioRDM
28+
instructions/](https://inveniordm.docs.cern.ch/install/). It was then
29+
customized to meet the needs of the Caltech community. This is only one
30+
deployment example, and may or not be appropriate for your specific
31+
institution and IT setup.
2832

29-
This README file is in Markdown format, and is meant to provide a template for README files as well an illustration of what the README file can be expected to look like. For a software project, this [Introduction](#introduction) section – which you are presently reading – should provide background for the project, a brief explanation of what the project is about, and optionally, pointers to resources that can help orient readers. Ideally, this section should be short.
33+
## Installation
3034

35+
We currently deploy CaltechDATA on a m6i.xlarge AWS EC2 instance with Ubuntu
36+
20.04. We use this [cloud-init
37+
file](https://github.com/caltechlibrary/cloud-init-examples/blob/main/caltechdata-init.yaml)
38+
to do most of the initial setup.
3139

32-
## Installation
40+
### Install NVM
41+
42+
We haven't gotten NVM to install with cloud-init. Run `curl -o-
43+
https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash`, then
44+
reboot and type `nvm install 14`
3345

34-
Begin this section by mentioning any prerequisites that may be important for users to have before they can use your software. Examples include hardware and operating system requirements.
46+
### Install InvenioRDM
3547

36-
Next, provide step-by-step instructions for installing the software, preferably with command examples that can be copy-pasted by readers into their software environments. For example:
48+
Clone this repository into /Sites, then go to that directory
3749

38-
```bash
39-
a command-line command here
50+
```
51+
invenio-cli install
52+
pipenv run pip install invenio-saml (I probably should figure out how to add this to the GitHin installed environment)
53+
invenio-cli install
54+
invenio-cli services setup --no-demo-data
4055
```
4156

42-
Sometimes, subsections may be needed for different operating systems or particularly complicated installations.
43-
57+
You'll need a rdm.conf file in /Sites, which includes secrets:
4458

45-
## Usage
59+
```
60+
INVENIO_DATACITE_PASSWORD=
61+
INVENIO_SECRET_KEY=
62+
INVENIO_S3_ACCESS_KEY_ID=
63+
INVENIO_S3_SECRET_ACCESS_KEY=
64+
FLASK_ENV=
65+
INVENIO_LOGGING_CONSOLE_LEVEL=
66+
```
4667

47-
This [Usage](#usage) section would explain more about how to run the software, what kind of behavior to expect, and so on.
68+
This configuration uses S3 for storage. You need to change the bucket name with
4869

49-
### _Basic operation_
70+
`pipenv run invenio files location s3-default s3://caltechdata --default`
5071

51-
Begin with the simplest possible example of how to use your software. Provide example command lines and/or screen images, as appropriate, to help readers understand how the software is expected to be used. Many readers are likely to look for command lines they can copy-paste directly from your explanations, so it's best to keep that in mind as you write examples.
72+
You can load the funders vocabulary with
5273

53-
### _Additional options_
74+
```
75+
wget https://zenodo.org/record/7038913/files/v1.5-2022-08-31-ror-data.zip?download=1 -O ror.zip
76+
pipenv run invenio vocabularies import --vocabulary funders --origin "/Sites/caltechdata/ror.zip"
77+
```
5478

55-
Some projects need to communicate additional information to users and can benefit from additional sections in the README file. It's difficult to give specific instructions – a lot depends on your software, your intended audience, etc. Use your judgment and ask for feedback from users or colleagues to help figure out what else is worth explaining.
79+
We have a local CaltechPEOPLE list, which is loaded with
5680

81+
```
82+
pipenv run invenio vocabularies import --vocabulary names --filepath ./vocabularies-future.yaml
83+
```
5784

58-
## Known issues and limitations
85+
### Domain Configuration
5986

60-
In this section, summarize any notable issues and/or limitations of your software. If none are known yet, this section can be omitted (and don't forget to remove the corresponding entry in the [Table of Contents](#table-of-contents) too); alternatively, you can leave this section in and write something along the lines of "none are known at this time".
87+
You'll need a domain name, and set an A record to point the domain name to your
88+
AWS instance.
6189

90+
Move nginx.conf to `/etc/nginx/sites-enabled/default`
6291

63-
## Getting help
92+
Copy redirect-map.conf to `/etc/nginx/`
6493

65-
Inform readers of how they can contact you, or at least how they can report problems they may encounter. This may simply be a request to use the issue tracker on your repository, but many projects have associated chat or mailing lists, and this section is a good place to mention those.
94+
Get a certificate with `sudo certbot --nginx`
6695

96+
Restart nginx with `sudo service nginx restart`
6797

68-
## Contributing
98+
### Systemctl
6999

70-
This section is optional; if your repository is for a project that accepts open-source contributions, then this section is where you can mention how people can offer contributions, and point them to your guidelines for contributing. (If you delete this section, don't forget to remove the corresponding entry in the [Table of Contents](#table-of-contents) too.)
100+
We need three services to run InvenioRDM. Set them up with
71101

102+
```
103+
sudo cp rdm_rest.service /etc/systemd/system/.
104+
sudo cp rdm.service /etc/systemd/system/.
105+
sudo cp rdm_celery.service /etc/systemd/system/.
106+
sudo systemctl daemon-reload
107+
sudo systemctl start rdm
108+
sudo systemctl start rdm_rest
109+
sudo systemctl start rdm_celery
110+
```
111+
112+
You should now have a InvenioRDM repository fully running!
113+
114+
## Usage
115+
116+
### Stopping InvenioRDM
117+
118+
```
119+
cd /Sites/caltechdata
120+
sudo systemctl stop nginx
121+
sudo systemctl stop rdm
122+
sudo systemctl stop rdm_rest
123+
sudo systemctl stop rdm_celery
124+
invenio-cli services stop
125+
```
126+
127+
### Starting InvenioRDM
128+
129+
```
130+
cd /Sites/caltechdata
131+
invenio-cli services start
132+
# Make sure there are no errors in the invenio-saml install
133+
sudo systemctl start rdm_celery
134+
sudo systemctl start rdm_rest
135+
sudo systemctl start rdm
136+
sudo systemctl start nginx
137+
```
138+
139+
## Known issues and limitations
140+
141+
These insttallation instructions are intended for this specific Caltech
142+
deployment, and you may need to modify them to work for your specific
143+
configuration.
144+
145+
## Getting help
146+
147+
Please open an issue or pull request if you notice any problems or have
148+
questions.
149+
150+
## Contributing
151+
152+
Please see our [Contributing
153+
guidelines](https://github.com/caltechlibrary/caltechdata/blob/main/CONTRIBUTING.md)
72154

73155
## License
74156

@@ -77,14 +159,16 @@ Software produced by the Caltech Library is Copyright © 2022 California Institu
77159

78160
## Authors and history
79161

80-
In this section, list the authors and contributors to your software project. Adding additional notes here about the history of the project can make it more interesting and compelling. This is also a place where you can acknowledge other contributions to the work and the use of other people's software or tools.
81-
162+
Tom Morrell led the CaltechDATA InvenioRDM development. Tommy Keswick did all
163+
the themeing and site design. Robert Doiel implemented the Shibboleth login.
164+
Mike Hucka worked on the GitHub integration. TUGraz and all the other
165+
InvenioRDM partners were instrumental in getting all the customizations
166+
working.
82167

83168
## Acknowledgments
84169

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

87-
(If this work was also supported by other organizations, acknowledge them here. In addition, if your work relies on software libraries, or was inspired by looking at other work, it is appropriate to acknowledge this intellectual debt too.)
88172

89173
<div align="center">
90174
<br>

0 commit comments

Comments
 (0)