On-Premises Installation

This page provides a detailed overview of how to install DataGerry on various operating systems and platforms.

Note

The installation commands must be executed by a user with sudo rights.
Ensure you have administrative privileges to properly perform the installation.


Overview

DataGerry can be installed in different environments depending on your use case and infrastructure preferences. The following installation methods are supported:

  • Docker Image (simplified deployment via containers)

  • RPM Package (for RHEL/CentOS-based systems)

  • zip Package with Setup Script (for all distributions)

  • Deb Package (for Debian-based systems)

For the fastest setup, we recommend using Docker along with the provided docker-compose configuration.


Requirements

DataGerry has the following system requirements:

  • Linux Operating System

  • MongoDB 6.0, 7.0 or 8.0

Although DataGerry ships with a built-in web server, it is recommended to place it behind Nginx for improved performance and security.




Configuration

Most of DataGerry’s configuration is stored in MongoDB. However, a few parameters—such as the MongoDB connection itself must be defined outside the database. These settings are provided in an INI-style configuration file named cmdb.conf.

Example:

[Database]
host = 127.0.0.1
port = 27017
database_name = cmdb

[WebServer]
host = 0.0.0.0
port = 4000
# ssl = false
# certfile = /etc/ssl/certs/cmdb.pem
# keyfile = /etc/ssl/private/cmdb.key

# [OpenCelium]
# host = 127.0.0.1
# port = 9090
# protocol = http
# email = email
# user = username
# password = password

You can also override configuration options using environment variables:

DATAGERRY_<section_name>_<option_name>
DATAGERRY_Database_port=27018

This approach is especially useful when running DataGerry in Docker environments.






Setup via Docker Image

The quickest way to get started with DataGerry is using Docker.

Docker is a container-based software framework for automating deployment of applications. Compose is a tool for defining and running multi-container Docker applications.

The DataGerry-docker repo is meant to be the starting point for somebody, who likes to use dockerized multi-container DataGerry in production. The DataGerry Docker image uses the stable branch of DataGerry’s Git repo.

The Docker images are hosted on Dockerhub.

We provide a docker-compose file that sets up the following containers:

  • DataGerry

  • MongoDB

  • Nginx

All data is persisted using Docker volumes on the host machine.

Install Docker Environment:

  1. Install Docker:

Use default Docker installation guide.

  1. Getting started with DataGerry-docker:

git clone https://github.com/DataGerry/DataGerry-docker.git /opt/DataGerry-docker
cp /opt/DataGerry-docker/conf/cmdb_default.conf /opt/DataGerry-docker/conf/cmdb.conf
cp /opt/DataGerry-docker/conf/nginx_default.conf /opt/DataGerry-docker/conf/nginx.conf

Note

We recommend always to use the latest tag version.

If you like to use SSL, do the following steps:

Create config folders for SSL:

mkdir /opt/DataGerry-docker/conf/ssl
mkdir /opt/DataGerry-docker/conf/ssl/certs
mkdir /opt/DataGerry-docker/conf/ssl/private

Copy your own certificates to these folders!

Copy the Nginx SSL-configuration file for DataGerry:

cp /opt/DataGerry-docker/conf/nginx-ssl_default.conf /opt/DataGerry-docker/conf/nginx-ssl.conf

Change the certificates within the config (conf/nginx-ssl.conf), with your own:

ssl_certificate /etc/ssl/certs/cmdb.pem;
ssl_certificate_key /etc/ssl/private/cmdb.key;

Set ssl to true and change the certificates within the config (conf/cmdb.conf), with your own:

ssl = true
certfile = /etc/ssl/certs/cmdb.pem
keyfile = /etc/ssl/private/cmdb.key

Activate SSL in docker compose file (/opt/DataGerry-docker/docker-compose.yml):

dg-frontend:
# comment for ssl
# - ./conf/nginx.conf:/etc/nginx/conf.d/default.conf
# uncomment for ssl
- ./conf/nginx-ssl.conf:/etc/nginx/conf.d/default.conf
- ./conf/ssl/certs/:/etc/ssl/certs/
- ./conf/ssl/private/:/etc/ssl/private/

dg-backend:
# uncomment for ssl
- ./conf/ssl/certs/:/etc/ssl/certs/
- ./conf/ssl/private/:/etc/ssl/private/
  1. Start DataGerry using DockerHub images:

cd DataGerry-docker
docker compose up -d

Note

Now you can connect to DataGerry, by navigating to http://localhost (for SSL https://localhost) in your web browser.
The default login credentials are:

Username: admin
Password: admin

If you want to have a look into DataGerry logs please use:
docker logs dg-backend
docker logs dg-frontend
docker logs dg-mongodb





Setup via RPM

For Red Hat Enterprise Linux (RHEL) and compatible systems like CentOS or Oracle Linux, DataGerry can be installed using an RPM package.

Download the RPM here.

Supported Platforms:

  • RHEL/CentOS 9 (tested and verified)



MongoDB Setup

To install MongoDB, follow the official MongoDB guide for your platform:


DataGerry Installation

Once MongoDB is installed, install the RPM package:

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

Note

If you like to use SSL, do the following steps:

Set ssl to true and change the certificates within the config (/etc/datagery/cmdb.conf), with your own:

ssl = true
certfile = /etc/ssl/certs/cmdb.pem
keyfile = /etc/ssl/private/cmdb.key

Please make sure, the datagerry user has sufficent permissions to read your certificate files. Additionally the private folder needs read and exeute permission for datagerry user.

Restart datagerry service:

systemctl restart datagerry


Accessing the Web Interface

Now you can connect to DataGerry, by navigating to http://localhost in your web browser.
(for SSL use https://localhost)
The default login credentials are:

Username: admin
Password: admin

If the frontend is not accessible, verify that port 4000 is open in your server’s firewall.

Note

If you want to have a look into DataGerry logs please use:

journalctl -xe -u datagerry -f





Setup via zip Package

For Linux distributions that are not RPM-based or DEB-based, we provide a zip archive containing a setup script for simplified installation. This method requires systemd and has been tested on the following distributions:

  • Ubuntu 22.04

  • Ubuntu 24.04

This approach should also work on other distributions that support systemd.



MongoDB Setup

To install MongoDB, follow the official MongoDB guide for your platform:

DataGerry Installation

Download the ZIP here.

unzip datagerry-<version>.zip
cd datagerry
sudo ./setup.sh

Note

If you like to use SSL, do the following steps:

Set ssl to true and change the certificates within the config (/etc/datagery/cmdb.conf), with your own:

ssl = true
certfile = /etc/ssl/certs/cmdb.pem
keyfile = /etc/ssl/private/cmdb.key

Please make sure, the datagerry user has sufficent permissions to read your certificate files. Additionally the private folder needs read and exeute permission for datagerry user.

Restart datagerry service:

systemctl restart datagerry


Accessing the Web Interface

Now you can connect to DataGerry, by navigating to http://localhost in your web browser.
(for SSL use https://localhost)
The default login credentials are:

Username: admin
Password: admin

If the frontend is not accessible, verify that port 4000 is open in your server’s firewall.

Note

If you want to have a look into DataGerry logs please use:

journalctl -xe -u datagerry -f





Setup via DEB Package

For Debian-based systems, DataGerry provides a .deb package for easy installation.

Note

You only need to install MongoDB separately. Other required services are included with the package.


MongoDB Setup

To install MongoDB, follow the official MongoDB guide for your platform:

DataGerry Installation

Download the DEB here.

Navigate to the directory containing the package and run:

apt install ./<datagerry-version>.deb

Note

If you like to use SSL, do the following steps:

Set ssl to true and change the certificates within the config (/etc/datagery/cmdb.conf), with your own:

ssl = true
certfile = /etc/ssl/certs/cmdb.pem
keyfile = /etc/ssl/private/cmdb.key

Please make sure, the datagerry user has sufficent permissions to read your certificate files. Additionally the private folder needs read and exeute permission for datagerry user.

Restart datagerry service:

systemctl restart datagerry


Accessing the Web Interface

Now you can connect to DataGerry, by navigating to http://localhost in your web browser.
(for SSL use https://localhost)
The default login credentials are:

Username: admin
Password: admin

If the frontend is not accessible, verify that port 4000 is open in your server’s firewall.

Note

If you want to have a look into DataGerry logs please use:

journalctl -xe -u datagerry -f





Nginx


We recommend using Nginx as a reverse proxy to enhance performance, enable SSL, and improve accessibility.

After installing Nginx for your platform, adapt the following configuration for your environment:

server {
        listen 80;
        listen [::]:80;

        location / {
          proxy_pass http://localhost:4000;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_read_timeout 90;
        }
  }

  # Logging
  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

This setup will:

  • Listen on ports 80 (HTTP)

  • Forward HTTP requests from http://<host>/ to the DataGerry backend at http://127.0.0.1:4000


If you like to use SSL, use the following configuration:

server {
    listen 80;
    listen [::]:80;

    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    ssl_certificate /etc/ssl/certs/cmdb.pem;
    ssl_certificate_key /etc/ssl/private/cmdb.key;

    location / {
        proxy_pass https://localhost:4000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 90;
    }

    # Logging
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
}

This setup will:

  • Listen on ports 80 (HTTP) and 443 (HTTPS)

  • Automatically redirect HTTP to HTTPS

  • Forward HTTPS requests from https://<host>/ to the DataGerry backend at http://127.0.0.1:4000

Tip

Using a reverse proxy is especially useful for integrating with Let’s Encrypt, securing the UI, and supporting custom domains.