1. Setup

1.1. Requirements

DATAGERRY has the following system requirements:

  • Linux Operating System

  • MongoDB 4.2+

  • RabbitMQ

There a several setup options for DATAGERRY, which are described in the sections below in detail:

  • Docker Images

  • RPM file (for RHEL/CentOS distributions)

  • tar.gz archive with setup script (for Debian/Ubuntu or other distributions)

1.2. Docker Image

The fastest way for getting started with DATAGERRY is using Docker. We provide a docker-compose file, which creates three containers (DATAGERRY, MongoDB, RabbitMQ). All data were stored in MongoDB using Docker volumes on the Docker host system.

To start, copy the follwing docker-compose.yml in a directory of your Docker host, and replace “undefined” with the version of DATAGERRY, you want to use:

version: "3.0"
services:
  datagerry:
    image: nethinks/datagerry:undefined
    ports:
    - "4000:4000"
    depends_on:
    - db
    - broker
    environment:
      DATAGERRY_Database_host: "db"
      DATAGERRY_MessageQueueing_host: "broker"
    restart: unless-stopped

  db:
    image: mongo:4.2-bionic
    volumes:
      - mongodb-data:/data/db
      - mongodb-config:/data/configdb
    
  broker:
    image: rabbitmq:3.8
    volumes:
      - rabbitmq-data:/var/lib/rabbitmq

volumes:
  rabbitmq-data:
  mongodb-data:
  mongodb-config:

Run docker-compose to start the application:

$ docker-compose up -d

To access the DATAGERRY frontend, use the following parameters:

http://<<host>:4000
user: admin
password: admin

1.3. RPM setup

For Red Hat Enterprise Linux (RHEL) or RHEL based systems like CentOS or Oracle Linux, we provide a RPM file for installing DATAGERRY.

The following RHEL/CentOS versions are supported and tested:

  • RHEL/CentOS 7

  • RHEL/CentOS 8

Before we can install DATAGERRY, we need to install the required dependencies MongoDB and Rabbit MQ.

1.3.1. Setup MongoDB

MongoDB 4.2+ is required as database for DATAGERRY.

Note

The setup of MongoDB is described in detail on the MongoDB website: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ The following section is a quick install guide of MonogDB.

To setup MongoDB, place the follwing file under /etc/yum.repos.d/mongodb.repo:

[MongoDB]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

After that, install the mongodb-org package and start the server with SystemD:

$ sudo yum install -y mongodb-org
$ sudo systemctl enable mongod
$ sudo systemctl start mongod

1.3.2. Setup RabbitMQ

RabbitMQ 3.8+ is used as messaging bus between the processes of DATAGERRY.

Note

The setup of RabbitMQ is described in detail on the RabbitMQ website: https://www.rabbitmq.com/install-rpm.html The following section is a quick install guide of RabbitMQ

For setting up RabbitMQ, we can use the RPM repository provided by Bintray. Place the following file under /etc/yum.repos.d/rabbitmq.repo:

[bintray-rabbitmq-server]
name=bintray-rabbitmq-rpm
baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/$releasever/
gpgcheck=1
gpgkey=https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
enabled=1

[bintraybintray-rabbitmq-erlang-rpm]
name=bintray-rabbitmq-erlang-rpm
baseurl=https://dl.bintray.com/rabbitmq-erlang/rpm/erlang/22/el/$releasever/
gpgcheck=0
repo_gpgcheck=0
enabled=1

Now, RabbitMQ can be installed and started:

$ sudo yum install -y rabbitmq-server
$ sudo systemctl enable rabbitmq-server
$ sudo systemctl start rabbitmq-server

1.3.3. Setup DATAGERRY

If all requirements were installed, we’ll can install the downloaded DATAGERRY RPM file:

$ sudo rpm -ivh DATAGERRY-<version>.x86_64.rpm

To change the parameters for connecting to MongoDB and RabbitMQ, edit the configuration file /etc/datagerry/cmdb.conf

Now, the database structure can be created:

$ datagerry -c /etc/datagerry/cmdb.conf --setup

After that, activate and start DATAGERRY with Systemd:

$ sudo systemctl enable datagerry.service
$ sudo systemctl start datagerry.service

To access the DATAGERRY frontend, use the following parameters:

http://<<host>:4000
user: admin
password: admin

Note

If you can’t access the webfrontend of DATAGERRY, check the firewall settings of your server. Port 4000 should ba accessible.

1.4. tar.gz archive setup

For all non rpm based Linux distributions, we provide a tar.gz archive with a setup shell script. Systemd is a requirement for that setup. This should work on most distributions, and is tested with the following distributions:

  • Ubuntu 18.04

Before we can install DATAGERRY, we need to install the required dependencies MongoDB and Rabbit MQ.

1.4.1. Setup MongoDB

MongoDB 4.2+ is required as database for DATAGERRY.

Please follow the offical MongoDB documentation <https://docs.mongodb.com/manual/administration/install-on-linux/> to setup MongoDB for your distribution.

1.4.2. Setup RabbitMQ

RabbitMQ 3.8+ is used as messaging bus between the processes of DATAGERRY.

Please follow the offical RabbitMQ documentation <https://www.rabbitmq.com/download.html#installation-guides> to setup RabbitMQ for your distribution.

1.4.3. Setup DATAGERRY

Extract the provided tar.gz archive and execute the setup script as root:

$ tar -xzvf datagerry-<version>.tar.gz
$ cd datagerry
$ sudo ./setup.sh

To change the parameters for connecting to MongoDB and RabbitMQ, edit the configuration file /etc/datagerry/cmdb.conf

Now, the database structure can be created:

$ datagerry -c /etc/datagerry/cmdb.conf --setup

After that, activate and start DATAGERRY with Systemd:

$ sudo systemctl enable datagerry.service
$ sudo systemctl start datagerry.service

To access the DATAGERRY frontend, use the following parameters:

http://<<host>:4000
user: admin
password: admin

Note

If you can’t access the webfrontend of DATAGERRY, check the firewall settings of your server. Port 4000 should ba accessible.