Sign inSign up

patrickkwang/robokop-rabbitmq

By patrickkwang

•Updated over 8 years ago

RabbitMQ server for robokop multithreading

Image
0

737

patrickkwang/robokop-rabbitmq repository overview

⁠ROBOKOP

ROBOKOP is a tool for reasoning over structured biomedical knowledge databases as part of the NCATS translator and reasoner programs. The ROBOKOP system consists of a web based user interface, an API server, and several worker servers. The code is separated into three separate repositories.

This repository is the main repository for the user interface and common storage modules. It is also used f or issues associated with the entire stack.

⁠Example Installation

See an instance at http://robokop.renci.org⁠

⁠Setup Instructions

⁠Installation

ROBOKOP uses several docker containers managed through docker-compose. Both should be installed and configured properly.

⁠Source Code Structure

We create a robokop directory and clone three repos into it: robokop, robokop-interfaces, and robokop-rank.

In the root directory, we create shared and logs diretories.

Into the shared directory we copy a "robokop.env" file with environment variables. A template is included below.

This is our directory structure:

robokop
├── logs
├── robokop
├── robokop-interfaces
├── robokop-rank
└── shared
    └── robokop.env
⁠Environment settings

robokop.env looks like this:

#################### Locations of things ####################
NEO4J_HTTP_PORT=7474
NEO4J_BOLT_PORT=7687

REDIS_PORT=6379

POSTGRES_PORT=5432
POSTGRES_USER=murphy
POSTGRES_DB=robokop

ROBOKOP_HOST=127.0.0.1
RANKER_HOST=127.0.0.1
BUILDER_HOST=127.0.0.1
MANAGER_PORT=80
BUILDER_PORT=6010
RANKER_PORT=6011

# Services can be REACHED at these addresses. They should generally publish to 0.0.0.0.
NEO4J_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
POSTGRES_HOST=127.0.0.1
FLOWER_HOST=127.0.0.1
SUPERVISOR_HOST=127.0.0.1

GREENT_REDIS_DB=0
MANAGER_REDIS_DB=1
BUILDER_REDIS_DB=2
RANKER_REDIS_DB=3

FLOWER_ADDRESS=0.0.0.0
MANAGER_FLOWER_PORT=5555
BUILDER_FLOWER_PORT=5556
RANKER_FLOWER_PORT=5557
FLOWER_USER=admin

MANAGER_SUPERVISOR_PORT=9001
BUILDER_SUPERVISOR_PORT=9002
RANKER_SUPERVISOR_PORT=9003
SUPERVISOR_USER=admin

COMPOSE_PROJECT_NAME=robokop
#############################################################

####################### Secret stuff ########################
ADMIN_EMAIL=<[email protected]>
ADMIN_PASSWORD=----------------------------------

NEO4J_PASSWORD=----------------------------------

FLOWER_PASSWORD=----------------------------------

SUPERVISOR_PASSWORD=----------------------------------

ROBOKOP_SECRET_KEY=----------------------------------
ROBOKOP_SECURITY_PASSWORD_SALT=----------------------------------

ROBOKOP_MAIL_SERVER=----------------------------------
ROBOKOP_MAIL_USERNAME=----------------------------------
ROBOKOP_MAIL_PASSWORD=----------------------------------
ROBOKOP_DEFAULT_MAIL_SENDER=----------------------------------
ROBOKOP_SECURITY_EMAIL_SENDER=----------------------------------
#############################################################

You'll need to supply values for the secret things at the end.

⁠Build

Environemnts are configured in several docker containers managed by docker-compose.

  • robokop/robokop/helpers - Common storage databases - Redis, Neo4j, Postgres
  • robokop/robokop/deploy - UI API and web server
  • robokop/robokop-interfaces/deploy - robokop-interfaces API server
  • robokop/robokop-rank/deploy - robokop-interfaces API server

First we must build the containers. For each of robokop, robokop-interfaces, and robokop-rank,

  • cd into /deploy
  • docker-compose build

When those are all complete, we must start the helpers (storage containers).

  • cd robokop/robokop/helpers
  • docker-compose up

Then for each of robokop, robokop-interfaces, and robokop-rank,

  • cd into /deploy
  • docker-compose up

With all containers started you can now monitor each component using the urls below.

⁠Interfaces

Tag summary

Content type

Image

Digest

Size

69.9 MB

Last updated

over 8 years ago

docker pull patrickkwang/robokop-rabbitmq