On-Premises Installation
This page provides a detailed overview of how to install DataGerry on various operating systems and platforms.
Note
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:
Install Docker:
Use default Docker installation guide.
Docker Compose (opt. Docker Engine installation already includes Docker Compose Plugin)
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/
Start DataGerry using DockerHub images:
cd DataGerry-docker
docker compose up -d
Note
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
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
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
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
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
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
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.