CCA InvenioRDM instance. This is mostly a cookiecutter Invenio project with additional documentation for us.
Requires Docker, python 3.9, pipenv, node 16, and npm 7. invenio-cli check-requirements --development
will check if you have these. To install on an M2 Mac, additional packages are needed: brew install cairo libffi pkg-config
. Finally, the invenio-saml module also requires brew install libxmlsec1
.
git clone https://gitlab.com/california-college-of-the-arts/invenio && cd invenio
pip install invenio-cli # install invenio-cli globally
invenio-cli install --dev # creates the virtualenv, install dependencies, & some other setup
invenio-cli services setup --no-demo-data # sets up db, cache, search, task queue
invenio-cli run # runs the application
The services setup enqueues many tasks rather than completing them synchronously, so the first time you run
the app it will take a while before setup is complete.
See our "notes" folder for further documentation.
Following is an overview of the generated files and folders:
Name | Description |
---|---|
Dockerfile |
Dockerfile used to build your application image. |
Pipfile |
Python requirements installed via pipenv |
Pipfile.lock |
Locked requirements (generated on first install). |
app_data |
Application data such as vocabularies. |
assets |
Web assets (CSS, JavaScript, LESS, JSX templates) used in the Webpack build. |
docker |
Example configuration for NGINX, Postgres Admin, and uWSGI. |
docker-compose.full.yml |
Example of a full infrastructure stack. |
docker-compose.yml |
Backend services needed for local development. |
docker-services.yml |
Common services for the Docker Compose files. |
invenio.cfg |
Main configuration file. |
logs |
Log files. |
notes |
CCA's documentation on running & developing the app. |
site |
Custom site code and modules. |
static |
Static files that need to be served as-is (e.g. images). |
templates |
Folder for your Jinja templates. |
.invenio |
Common file used by Invenio-CLI to be version controlled. |
.invenio.private |
Private file used by Invenio-CLI not version controlled. |
To learn how to configure, customize, deploy and much more, visit the InvenioRDM Documentation.