Installation

Note

Please check the software requirements, before installing OC.

Debian/Ubuntu (example for 24.04 LTS)

Prepare environment

1. Update:

Update your system, download and install required packages.

1apt update
2apt dist-upgrade
3apt install unzip mariadb-server mariadb-client openjdk-17-jdk nginx

2. Install MongoDB:

Use default MongoDB installation guide.
You can find documentation here: MongoDB Installation

Install Application

Download and unzip application, and create a link for it.

1wget --content-disposition "https://packagecloud.io/becon/opencelium/packages/anyfile/oc_latest.zip/download?distro_version_id=230" -P /opt/opencelium/
2unzip -o -d /opt/opencelium/ /opt/opencelium/oc_latest.zip
3rm /opt/opencelium/oc_latest.zip
4ln -s /opt/opencelium/scripts/oc_service.sh /usr/bin/oc
5chmod +x /usr/bin/oc

Configuration

1. MariaDB:

Create database and mysql user for OpenCelium, enable mysql service and secure mysql installation.

Note

Please change the password (secret1234) in the following command line!

1systemctl restart mariadb
2systemctl enable mariadb
3mysql -u root -e "source /opt/opencelium/src/backend/database/oc_data.sql; GRANT ALL PRIVILEGES ON opencelium.* TO 'opencelium'@'localhost' IDENTIFIED BY 'secret1234'; FLUSH PRIVILEGES;"
4mysql_secure_installation

2. MongoDB:

Start and enable mongod service and create a user for Opencelium.

1systemctl restart mongod
2systemctl enable mongod
3mongosh --eval "db.getSiblingDB('opencelium').createUser({user: 'oc_admin', pwd: passwordPrompt(), roles: ['readWrite','dbAdmin' ]})"

3. Nginx:

Remove default config and link configuration file for OpenCelium.

1rm /etc/nginx/sites-enabled/default
2ln -s /opt/opencelium/conf/nginx.conf /etc/nginx/sites-enabled/oc.conf

Note

If you like to use SSL, copy the SSL-configuration file for OpenCelium:

1rm /etc/nginx/sites-enabled/default
2ln -s /opt/opencelium/conf/nginx-ssl.conf /etc/nginx/sites-enabled/oc.conf

and change the certificates within the config (/opt/opencelium/conf/nginx-ssl.conf), with your own:

1ssl_certificate /etc/ssl/certs/opencelium.pem;
2ssl_certificate_key /etc/ssl/private/opencelium.key;

Reload config and enable nginx.

1systemctl restart nginx
2systemctl enable nginx

4. OpenCelium:

Create and adjust configuration.

1cp /opt/opencelium/src/backend/src/main/resources/application_default.yml /opt/opencelium/src/backend/src/main/resources/application.yml

Note

Modify application.yml
Within section “Database configuration section of MariaDB and MongoDB”:
- change password of opencelium user for MariaDB (default “secret1234”)
- change password of oc_admin user for MongoDB in uri line (default “secretsecret”)
Just in case you are using SSL, add certs to the ssl section.
It has to be a p12 keystore file with password!
If you just have key and pem you can create a p12 as follows:
1openssl pkcs12 -export -out /opt/opencelium/src/backend/src/main/resources/opencelium.p12 -in /etc/ssl/certs/opencelium.pem -inkey /etc/ssl/private/opencelium.key

Finally start OpenCelium backend.

1ln -s /opt/opencelium/conf/opencelium.service /etc/systemd/system/opencelium.service
2systemctl daemon-reload
3systemctl enable opencelium
4systemctl start opencelium

Note

Afterwards you can connect to http://localhost
Default User and Password is:
If you want to have a look into OpenCelium Logs please use:
1journalctl -xe -u opencelium -f

SUSE Linux Enterprise Server (example for SLES 15 SP5)

Prepare environment

1. Update:

Update your system, download and install required packages.

1zypper install unzip insserv mariadb mariadb-client java-17-openjdk nginx

2. Install MongoDB:

Use default MongoDB installation guide.
You can find documentation here: MongoDB Installation

Install Application

Download and unzip application, and create a link for it.

1wget --content-disposition "https://packagecloud.io/becon/opencelium/packages/anyfile/oc_latest.zip/download?distro_version_id=230" -P /opt/opencelium/
2unzip -o -d /opt/opencelium/ /opt/opencelium/oc_latest.zip
3rm /opt/opencelium/oc_latest.zip
4ln -s /opt/opencelium/scripts/oc_service.sh /usr/bin/oc
5chmod +x /usr/bin/oc

Configuration

1. MariaDB:

Create database and mysql user for OpenCelium, enable mysql service and secure mysql installation.

Note

Please change the password (secret1234) in the following command line!

1systemctl restart mariadb
2systemctl enable mariadb
3mysql -u root -e "source /opt/opencelium/src/backend/database/oc_data.sql; GRANT ALL PRIVILEGES ON opencelium.* TO 'opencelium'@'localhost' IDENTIFIED BY 'secret1234'; FLUSH PRIVILEGES;"
4mysql_secure_installation

2. MongoDB:

Start and enable mongod service and create a user for Opencelium.

1systemctl restart mongod
2systemctl enable mongod
3mongosh --eval "db.getSiblingDB('opencelium').createUser({user: 'oc_admin', pwd: passwordPrompt(), roles: ['readWrite','dbAdmin' ]})"

3. Nginx:

Copy the configuration file for OpenCelium.

1ln -s /opt/opencelium/conf/nginx.conf /etc/nginx/conf.d/oc.conf

Note

If you like to use SSL, copy the SSL-configuration file for OpenCelium:

1ln -s /opt/opencelium/conf/nginx-ssl.conf /etc/nginx/conf.d/oc.conf

and change the certificates within the config (/opt/opencelium/conf/nginx.conf), with your own:

1ssl_certificate /etc/ssl/certs/opencelium.pem;
2ssl_certificate_key /etc/ssl/private/opencelium.key;

Reload config and enable nginx.

1systemctl restart nginx
2systemctl enable nginx

4. Firewall:

Create firewall rules for Opencelium:

1firewall-cmd --permanent --add-service=http
2firewall-cmd --permanent --add-service=https
3firewall-cmd --permanent --add-port=9090/tcp
4systemctl restart firewalld.service

5. OpenCelium:

Create and adjust configuration.

1cp /opt/opencelium/src/backend/src/main/resources/application_default.yml /opt/opencelium/src/backend/src/main/resources/application.yml

Note

Modify application.yml
Within section “Database configuration section of MariaDB and MongoDB”:
- change password of opencelium user for MariaDB (default “secret1234”)
- change password of oc_admin user for MongoDB in uri line (default “secretsecret”)
Just in case you are using SSL, add certs to the ssl section.
It has to be a p12 keystore file with password!
If you just have key and pem you can create a p12 as follows:
1openssl pkcs12 -export -out /opt/opencelium/src/backend/src/main/resources/opencelium.p12 -in /etc/pki/tls/certs/opencelium.pem -inkey /etc/pki/tls//private/opencelium.key

Finally start OpenCelium backend.

1ln -s /opt/opencelium/conf/opencelium.service /etc/systemd/system/opencelium.service
2systemctl daemon-reload
3systemctl enable opencelium
4systemctl start opencelium

Note

Afterwards you can connect to http://localhost
Default User and Password is:
If you want to have a look into OpenCelium Logs please use:
1journalctl -xe -u opencelium -f

Red Hat Enterprise Linux (example for Red Hat 9.2)

Prepare environment

1. Update:

Update your system, download and install required packages.

1yum update
2yum install unzip mariadb-server java-17-openjdk nginx

2. Install MongoDB:

Use default MongoDB installation guide.
You can find documentation here: MongoDB Installation

Install Application

Download and unzip application, and create a link for it.

1wget --content-disposition "https://packagecloud.io/becon/opencelium/packages/anyfile/oc_latest.zip/download?distro_version_id=230" -P /opt/opencelium/
2unzip -o -d /opt/opencelium/ /opt/opencelium/oc_latest.zip
3rm /opt/opencelium/oc_latest.zip
4ln -s /opt/opencelium/scripts/oc_service.sh /usr/bin/oc
5chmod +x /usr/bin/oc

Configuration

1. MariaDB:

Create database and mysql user for OpenCelium, enable mysql service and secure mysql installation.

Note

Please change the password (secret1234) in the following command line!

1systemctl restart mariadb
2systemctl enable mariadb
3mysql -u root -e "source /opt/opencelium/src/backend/database/oc_data.sql; GRANT ALL PRIVILEGES ON opencelium.* TO 'opencelium'@'localhost' IDENTIFIED BY 'secret1234'; FLUSH PRIVILEGES;"
4mysql_secure_installation

2. MongoDB:

Start and enable mongod service and create a user for Opencelium.

1systemctl restart mongod
2systemctl enable mongod
3mongosh --eval "db.getSiblingDB('opencelium').createUser({user: 'oc_admin', pwd: passwordPrompt(), roles: ['readWrite','dbAdmin' ]})"

3. Nginx:

Copy the configuration file for OpenCelium.

1ln -s /opt/opencelium/conf/nginx.conf /etc/nginx/conf.d/oc.conf

Note

If you like to use SSL, copy the SSL-configuration file for OpenCelium:

1ln -s /opt/opencelium/conf/nginx-ssl.conf /etc/nginx/conf.d/oc.conf
2ln -s /etc/pki/tls/private/ /etc/ssl/private

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

1ssl_certificate /etc/ssl/certs/opencelium.pem;
2ssl_certificate_key /etc/ssl/private/opencelium.key;

Reload config and enable nginx.

1systemctl restart nginx
2systemctl enable nginx

4. Firewall:

Create firewall rules for Opencelium:

1firewall-cmd --permanent --add-service=http
2firewall-cmd --permanent --add-service=https
3firewall-cmd --permanent --add-port=9090/tcp
4systemctl restart firewalld.service

5. OpenCelium:

Create and adjust configuration.

1cp /opt/opencelium/src/backend/src/main/resources/application_default.yml /opt/opencelium/src/backend/src/main/resources/application.yml

Note

Modify application.yml
Within section “Database configuration section of MariaDB and MongoDB”:
- change password of opencelium user for MariaDB (default “secret1234”)
- change password of oc_admin user for MongoDB in uri line (default “secretsecret”)
Just in case you are using SSL, add certs to the ssl section.
It has to be a p12 keystore file with password!
If you just have key and pem you can create a p12 as follows:
1openssl pkcs12 -export -out /opt/opencelium/src/backend/src/main/resources/opencelium.p12 -in /etc/pki/tls/certs/opencelium.pem -inkey /etc/pki/tls//private/opencelium.key

Finally start OpenCelium backend.

1ln -s /opt/opencelium/conf/opencelium.service /etc/systemd/system/opencelium.service
2systemctl daemon-reload
3systemctl enable opencelium
4systemctl start opencelium

Note

Afterwards you can connect to http://localhost
Default User and Password is:
If you want to have a look into OpenCelium Logs please use:
1journalctl -xe -u opencelium -f

Ansible

Note

Currently in rework.

Docker Compose

Warning

We currently do not support Docker environments in productive use. We recommend using it for use in a test phase!

Note

You need at least 4 GB of RAM to run the containers. We recommend 8GB for a better performance.

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

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

The Docker images are hosted on Dockerhub.

Install Docker Environment:

  1. Install Docker:

Use default Docker installation guide.

  1. Getting started with opencelium-docker-compose:

1git clone https://github.com/opencelium/opencelium-docker.git
2cd opencelium-docker

Note

We recommend to use always the latest tag version.

  1. Start OpenCelium using DockerHub images

1docker-compose up -d

DEB package for Ubuntu 24.04 LTS

Prepare environment:

1. Update Ubuntu system:

1apt update
2apt dist-upgrade
3apt install curl gnupg

2. Install MongoDB:

Use default MongoDB installation guide.
You can find documentation here: MongoDB Installation

Install Application:

1. Install deb package for OpenCelium:

1curl -s https://packagecloud.io/install/repositories/becon/opencelium/script.deb.sh | sudo bash
2sed -i 's!deb .*!deb [signed-by=/etc/apt/keyrings/becon_opencelium-archive-keyring.gpg] https://packagecloud.io/becon/opencelium/ubuntu noble main!' /etc/apt/sources.list.d/becon_opencelium.list
3apt update
4apt install -y opencelium

Note

Afterwards you can connect to http://localhost
Default User and Password is:
If you want to have a look into OpenCelium Logs please use:
1journalctl -xe -u opencelium -f

Configure environment (optional):

1. Secure MySql and set root password (only for new MySql installations):

1mysql_secure_installation

2. Change user passwords for MySQL and MongoDB:

Note

Please change the passwords (secret1234, secretsecret) in the following command lines!

1mysql -u root -p -e "ALTER USER 'opencelium'@'localhost' IDENTIFIED BY 'secret1234';"
2mongosh --eval "db.getSiblingDB('opencelium').changeUserPassword('oc_admin', 'secretsecret')"

3. Modify application.yml file for backend:

1cd /opt/opencelium/src/backend/src/main/resources

Note

Make changes inside the file application.yml!
Change your MongoDB and MySQL database passwords.

4. Restart Opencelium Backend:

1systemctl restart opencelium

RPM package for SUSE Linux Enterprise Server 15 SP5

Prepare environment:

1. Update SLES system:

1zypper refresh
2zypper update

2. Install MongoDB:

Use default MongoDB installation guide.
You can find documentation here: MongoDB Installation

Install Application:

1. Install deb package for OpenCelium:

1curl -s https://packagecloud.io/install/repositories/becon/opencelium/script.rpm.sh | sudo bash
2sed -i 's!baseurl=.*!baseurl=https://packagecloud.io/becon/opencelium/sles/15.5/x86_64!' /etc/zypp/repos.d/becon_opencelium.repo
3zypper install -y OpenCelium

Note

Afterwards you can connect to http://localhost
Default User and Password is:
If you want to have a look into OpenCelium Logs please use:
1journalctl -xe -u opencelium -f

Configure environment (optional):

1. Secure MySql and set root password (only for new MySql installations):

1mysql_secure_installation

2. Change user passwords for MySQL and MongoDB:

Note

Please change the passwords (secret1234, secretsecret) in the following command lines!

1mysql -u root -p -e "ALTER USER 'opencelium'@'localhost' IDENTIFIED BY 'secret1234';"
2mongosh --eval "db.getSiblingDB('opencelium').changeUserPassword('oc_admin', 'secretsecret')"

3. Modify application.yml file for backend:

1cd /opt/opencelium/src/backend/src/main/resources

Note

Make changes inside the file application.yml!
Change your MongoDB and MySQL database passwords.

4. Restart Opencelium Backend:

1systemctl restart opencelium

RPM package for RedHat 9.2

Prepare environment:

1. Update RedHat system:

1yum update
2yum install pygpgme yum-utils

Note

You may need to install the EPEL repository for your system to install these packages. If you do not install pygpgme, GPG verification will not work. In this case, you can install OpenCelium without GPG verification (see note at installation section).

2. Install MongoDB:

Use default MongoDB installation guide.
You can find documentation here: MongoDB Installation

Install Application:

1. Install deb package for OpenCelium:

1curl -s https://packagecloud.io/install/repositories/becon/opencelium/script.rpm.sh | sudo bash
2sed -i 's!baseurl=.*!baseurl=https://packagecloud.io/becon/opencelium/fedora/40/x86_64!' /etc/yum.repos.d/becon_opencelium.repo
3yum install -y OpenCelium

Note

Install Application without pygpgme:

  1. Install rpm package for OpenCelium:

 1cat << EOF >  /etc/yum.repos.d/becon_opencelium.repo
 2[becon_opencelium]
 3name=becon_opencelium
 4baseurl=https://packagecloud.io/becon/opencelium/fedora/40/x86_64
 5repo_gpgcheck=0
 6gpgcheck=0
 7enabled=1
 8sslverify=1
 9sslcacert=/etc/pki/tls/certs/ca-bundle.crt
10metadata_expire=300
11EOF
12yum install -y OpenCelium

Note

Afterwards you can connect to http://localhost
Default User and Password is:
If you want to have a look into OpenCelium Logs please use:
1journalctl -xe -u opencelium -f

Configure environment (optional):

1. Secure MySql and set root password (only for new MySql installations):

1mysql_secure_installation

2. Change user passwords for MySQL and MongoDB:

Note

Please change the passwords (secret1234, secretsecret) in the following command lines!

1mysql -u root -p -e "ALTER USER 'opencelium'@'localhost' IDENTIFIED BY 'secret1234';"
2mongosh --eval "db.getSiblingDB('opencelium').changeUserPassword('oc_admin', 'secretsecret')"

3. Modify application.yml file for backend:

1cd /opt/opencelium/src/backend/src/main/resources

Note

Make changes inside the file application.yml!
Change your MongoDB and MySQL database passwords.

4. Restart Opencelium Backend:

1systemctl restart opencelium