Launch an Invenio instance


Invenio requires the following software installed in your system:

Create an Invenio instance

First step is to create your new Invenio instance using the official Invenio cookiecutter template.

$ cookiecutter gh:inveniosoftware/cookiecutter-invenio-instance --checkout v3.3

The cookiecutter initialisation procedure will prompt you with a series of questions aiming to customise your new instance, e.g. the name of your application.


At the end of the initialisation, you will be warned to manually change some parts of the generated code marked with TODOs. These will be covered in the Final steps section of this quick start guide.


Now that your project is generated, you will have to install all needed Python dependencies and initialise the application services such as the database and the search engine.

From now on, the quick start guide will use the name my-site to refer to your newly created Invenio application.

Let’s run the service using docker-compose:

$ cd my-site/
$ docker-compose up
Creating my-site_cache_1 ... done
Creating my-site_db_1    ... done
Creating my-site_es_1    ... done
Creating my-site_mq_1    ... done

If Elasticsearch service fails to start, it might be due to its requirement for additional virtual memory than the one provided by your system defaults. For more information, see Elasticsearch documentation.

Let’s run the installation scripts:

$ ./scripts/bootstrap
$ ./scripts/setup

This will:

  • install required Python packages
  • build JS/CSS assets
  • create and initialise the database and the search engine


Let’s run Invenio and open your browser to

$ ./scripts/server
* Environment: development
* Debug mode: on
* Running on (Press CTRL+C to quit)


Learn how to create and view records: Create, display and search records.