The installation of the ORR is greatly facilitated with the use of Docker container technology. Your target machine should have the following:
The Docker images comprising the ORR system are:
|mmisw/orr||ORR||The ORR system itself|
|mongo||MongoDB||Persist all data|
|franzinc/agraph||AllegroGraph||Triple store and SPARQL endpoint|
Note: You don't need to manually download these images.
docker-compose.yml file described below, Docker Compose takes care
of pulling and running these images.
Configuring and Launching the ORR System¶
To further facilitate this task, we have put together a template that you can get from https://github.com/mmisw/orr-instance-template/releases/. Expand the zip or tarball under a location of your choice.
The template mainly consists of configuration files and the
specification to be passed to Docker Compose.
The template contents are:
├── README.md ├── config │ ├── notifyemails │ └── orront.conf ├── docker-compose.yml └── setenv.sh
From the template, edit the following files (please see the contents of the files for additional details):
setenv.shto indicate a number of required settings via environment variables;
config/orront.conf, the master configuration for your ORR instance;
config/notifyemails, to specify email addresses that should be notified whenever there is a registration event (user, organization, or ontology). This is optional.
With these pieces in place, you can now launch the ORR:
$ source setenv.sh $ docker-compose up -d Starting agraph Starting mongo Starting orr
To inspect the ORR log:
$ docker logs -f --tail=100 orr
Open the ORR in your browser. For example, with 9090 as the associated host port
you can now open http://localhost:9090/ont/.
You can login with the username "admin" and the password indicated via the
admin.password entry in
To stop and restart individual containers:
$ docker stop orr $ docker start orr $ docker restart orr
To shutdown the whole ORR:
$ docker-compose down Stopping orr ... done Stopping mongo ... done Stopping agraph ... done Removing orr ... done Removing mongo ... done Removing agraph ... done
A crontab like the following could be defined for a complete ORR start at reboot time:
@reboot sleep 30 && docker start mongo agraph orr
The above Docker set-up should in general be complemented with appropriate
mechanisms toward a production environment.
Aspects to consider include:
making your ORR instance externally visible, re-starting the containers to reflect configuration
and image updates, logging, backups, etc.
Also, depending on the target platform, the user performing the deployment should have
the relevant Docker privileges.
For example, via a command like:
sudo usermod -a -G docker username.
Please check with your sysadmin.
Apache HTTPD proxy configuration
Just as a suggestion (please check with your sysadmin), the following is a possible Apache
proxy configuration to externally expose the ORR itself and the SPARQL endpoint through the
/sparql context paths under your main HTTP server:
ProxyPass /ont http://localhost:9090/ont ProxyPassReverse /ont http://localhost:9090/ont ProxyPass /sparql http://localhost:10035/repositories/mmiorr ProxyPassReverse /sparql http://localhost:10035/repositories/mmiorr