Getting started with Invenio

Installation and first steps

Invenio 3.0 is a digital repository framework that enables you to easily bootstap, customise and run your own digital repository instances.

We start by bootstrapping a new instance:

# create my-site instance
$mkvirtualenv my-site
$cookiecutter \
gh:inveniosoftware/cookiecutter-invenio-instance -c v3.0
$cd my-site
# start services (db, es, mq, etc)
$docker-compose up -d
# bootstap my-site instance

We follow by registering the record data model:

# select instance
$workon my-site
# scaffold data model in the same parent directory
$cookiecutter \
gh:inveniosoftware/cookiecutter-invenio-datamodel -c v3.0
# install and register data model
$cd my-datamodel
$pip install -e .

We can now run the newly created instance:

# select instance
$workon my-site
$cd my-site
# setup database and indexes
# start worker
$celery worker -A invenio_app.celery -l INFO
# start server
# your site is running!
$firefox https://localhost:5000/

We can submit and query records:

# create a new record
$curl -k --header "Content-Type: application/json" \
--request POST \
--data '{"title":"Some title", "contributors": [{"name": "Doe, John"}]}' \
# view record
$firefox https://localhost:5000/records/1
# download record
$curl -k --header "Content-Type: application/json" \

For more information and comments, please see our Quickstart documentation.

Looking for Invenio 1.x or 2.x versions? Please see our legacy releases documentation.

All the documentation can be found on Read The Docs. You can read about the installation and customisation of Invenio instances, the architecture and the technology overview, as well as our development practices.

See also our further project related information such as our roadmap, governance and code of conduct.