Installation

Note

Please check the software requirements, before installing OC.

Debian/Ubuntu (example for 22.04 LTS)

Prepare environment:

  1. Update Debian/Ubuntu system:

1apt update
2apt install unzip
3apt-get install libpng-dev libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev*
  1. Install nodejs:

1apt install curl
2curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
3apt-get install -y nodejs
  1. Install yarn:

1curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
2echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
3apt-get update && apt-get install yarn
  1. Install git:

1apt-get install git
  1. Install java:

1apt install openjdk-17-jdk
  1. Install gradle:

1apt-get install software-properties-common
2add-apt-repository ppa:cwchien/gradle
3apt-get update
4apt upgrade gradle
  1. Install neo4j:

1wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -
2echo 'deb https://debian.neo4j.com stable latest' | sudo tee -a /etc/apt/sources.list.d/neo4j.list
3apt update
4apt install neo4j=1:5.7.0
5/usr/bin/neo4j-admin dbms set-initial-password secret1234
6service neo4j start
7systemctl enable neo4j

Note

Change password (secret1234) if you want.

  1. Install MariaDB:

1apt install mariadb-server mariadb-client
2mysql_secure_installation

Note

Sometimes setting password doesn’t work prperly by mysql_secure_installation. Please check with this command:

1mysql -u root

If this works (without your password), please set your password again with this command:

1mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';"

Change password (root) if you want.

Install Application:

  1. Get frontend repository

1cd /opt
2git clone -b <StableVersion> https://github.com/opencelium/opencelium.git .

Note

Get stable versions here https://github.com/opencelium/opencelium/tags

  1. Build frontend project

1cd src/frontend
2yarn

Note

If yarn doesn’t run properly, use this command to increase the amount of inotify watchers:

1echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
  1. Enable OC service

1ln -s /opt/scripts/oc_service.sh /usr/bin/oc
  1. Start frontend

1oc start_frontend
  1. Create application.yml file for backend

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

Note

Make changes inside the file application.yml! Change neo4j and mysql database password.

  1. Install database

1cd /opt/src/backend/database
2mysql -u root -p -e "source oc_data.sql"
  1. Build backend project

1cd /opt/src/backend/
2gradle build
  1. Start backend

1oc start_backend
  1. Welcome to OC

1Visit opencelium http://SERVERIP:8888

SUSE Linux Enterprise Server (example for SLES 15 SP5)

Prepare environment:

  1. Install nodejs:

1zypper install nodejs20
  1. Install yarn:

1sudo npm install yarn -g
  1. Install git:

1zypper install git
  1. Install java:

1zypper install java-17-openjdk
  1. Install gradle:

1cd /tmp
2wget https://services.gradle.org/distributions/gradle-7.4.2-all.zip
3mkdir /opt/gradle
4unzip -d /opt/gradle gradle-7.4.2-all.zip
5export PATH=$PATH:/opt/gradle/gradle-7.4.2/bin
  1. Install neo4j:

1zypper addrepo --refresh https://yum.neo4j.org/stable/5 neo4j-repository
2zypper refresh
3zypper install neo4j-5.7.0
4/usr/bin/neo4j-admin dbms set-initial-password secret1234
5neo4j start
6zypper install insserv
7systemctl enable neo4j

Note

Change password (secret1234) if you want.

  1. Install MariaDB:

1zypper install mariadb mariadb-client
2rcmysql start
3mysql_secure_installation
4systemctl enable mariadb

Note

Sometimes setting password doesn’t work prperly by mysql_secure_installation. Please check with this command:

1mysql -u root

If this works (without your password), please set your password again with this command:

1mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';"

Change password (root) if you want.

Install Application:

  1. Get frontend repository

1cd /opt
2git clone -b <StableVersion> https://bitbucket.org/becon_gmbh/opencelium.git .
  1. Run frontend with yarn

1cd src/frontend
2yarn

Note

If yarn doesn’t run properly, use this command to increase the amount of inotify watchers:

1echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
  1. Enable OC service

1ln -s /opt/scripts/oc_service.sh /usr/bin/oc
  1. Start frontend

1oc start_frontend
  1. Create application.yml file for backend

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

Note

Make changes inside the file application.yml! Change neo4j and mysql database password.

  1. Install database

1cd /opt/src/backend/database
2mysql -u root -p -e "source oc_data.sql"
  1. Build backend project

1cd /opt/src/backend/
2gradle build
  1. Start backend

1oc start_backend
  1. Welcome to OC

1Visit opencelium http://SERVERIP:8888

Red Hat Enterprise Linux (example for Red Hat 9.2)

Prepare environment:

  1. Update Red Hat system:

1yum update
  1. Install nodejs:

1yum install -y gcc-c++ make
2curl -sL https://rpm.nodesource.com/setup_20.x | sudo -E bash -
3yum install nodejs
  1. Install yarn:

1curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
2yum install yarn
  1. Install git:

1yum install git
  1. Install java:

1yum install java-17-openjdk
  1. Install gradle:

1cd /tmp
2wget https://services.gradle.org/distributions/gradle-7.4.2-all.zip
3mkdir /opt/gradle
4unzip -d /opt/gradle gradle-7.4.2-all.zip
5export PATH=$PATH:/opt/gradle/gradle-7.4.2/bin
  1. Install neo4j:

 1rpm --import https://debian.neo4j.com/neotechnology.gpg.key
 2cat <<EOF>  /etc/yum.repos.d/neo4j.repo
 3[neo4j]
 4name=Neo4j RPM Repository
 5baseurl=https://yum.neo4j.com/stable/5
 6enabled=1
 7gpgcheck=1
 8EOF
 9yum install neo4j-5.7.0-1
10/usr/bin/neo4j-admin dbms set-initial-password secret1234
11systemctl start neo4j
12systemctl enable neo4j

Note

Change password (secret1234) if you want.

  1. Install MariaDB:

1yum install mariadb-server
2systemctl start mariadb
3systemctl enable mariadb
4mysql_secure_installation

Note

Sometimes setting password doesn’t work prperly by mysql_secure_installation. Please check with this command:

1mysql -u root

If this works (without your password), please set your password again with this command:

1mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';"

Change password (root) if you want.

Install Application:

  1. Get frontend repository

1cd /opt
2git clone -b <StableVersion> https://bitbucket.org/becon_gmbh/opencelium.git .
  1. Run frontend with yarn

1cd src/frontend
2yarn

Note

If yarn doesn’t run properly, use this command to increase the amount of inotify watchers:

1echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
  1. Enable OC service

1ln -s /opt/scripts/oc_service.sh /usr/bin/oc
2oc start_frontend
  1. Create application.yml file for backend

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

Note

Make changes inside the file application.yml! Change neo4j and mysql database password.

  1. Install database

1cd /opt/src/backend/database
2mysql -u root -p -e "source oc_data.sql"
  1. Build backend project

1cd /opt/src/backend/
2gradle build
  1. Start backend

1oc start_backend
  1. Welcome to OC

1Visit opencelium http://SERVERIP:8888

Note

Please make sure that firewall is disabled (service firewalld stop)!

Ansible

Note

Only available for Ubuntu systems (tested on 22.04 LTS)!

Prepare environment:

  1. Install Ansible:

Note

Use default Ansible installation guide. You can find documentation here -> https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html

  1. Get oc playbook:

1cd /etc/ansible
2git clone https://bitbucket.org/becon_gmbh/opencelium.setup.ansible.git .
  1. Add localhost in ansible

1printf "[local]\nlocalhost ansible_connection=local" >> hosts
  1. Run playbook

1ansible-playbook --connection=local -e 'host_key_checking=False' playbooks/install_oc.yml

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 22.04 LTS

Prepare environment:

  1. Update Ubuntu system:

1apt update
2apt install curl gnupg
  1. Install java:

1apt install openjdk-17-jdk
  1. Install neo4j:

1wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -
2echo 'deb https://debian.neo4j.com stable latest' | sudo tee -a /etc/apt/sources.list.d/neo4j.list
3apt update
4apt install neo4j=1:5.7.0
5/usr/bin/neo4j-admin dbms set-initial-password secret1234

Note

Change password (secret1234) if you want.

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 jammy main!' /etc/apt/sources.list.d/becon_opencelium.list
3apt update
4apt install opencelium

Configure environment:

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

1mysql_secure_installation

Note

Sometimes setting password doesn’t work prperly by mysql_secure_installation. Please check with this command:

1mysql -u root

If this works (without your password), please set your password again with this command:

1mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';"

Change password (root) if you want.

  1. Modify application.yml file for backend:

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

Note

Make changes inside the file application.yml! Change neo4j and mysql database password.

  1. Restart backend:

1oc restart_backend
  1. Welcome to OC:

1Visit opencelium http://SERVERIP

RPM package for SUSE Linux Enterprise Server 15 SP5

Prepare environment:

  1. Install java:

1zypper install java-17-openjdk
  1. Install neo4j:

1zypper addrepo --refresh https://yum.neo4j.org/stable/5 neo4j-repository
2zypper refresh
3zypper install neo4j-5.7.0
4/usr/bin/neo4j-admin dbms set-initial-password secret1234
5zypper install insserv

Note

Change password (secret1234) if you want.

Install Application:

  1. Install rpm 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/yum.repos.d/becon_opencelium.repo
3zypper install OpenCelium

Configure environment:

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

1mysql_secure_installation

Note

Sometimes setting password doesn’t work prperly by mysql_secure_installation. Please check with this command:

1mysql -u root

If this works (without your password), please set your password again with this command:

1mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';"

Change password (root) if you want.

  1. Modify application.yml file for backend:

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

Note

Make changes inside the file application.yml! Change neo4j and mysql database password.

  1. Restart backend:

1oc restart_backend
  1. Welcome to OC:

1Visit opencelium http://SERVERIP

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).

  1. Install java:

1yum install java-17-openjdk
  1. Install neo4j:

 1rpm --import https://debian.neo4j.com/neotechnology.gpg.key
 2cat <<EOF>  /etc/yum.repos.d/neo4j.repo
 3[neo4j]
 4name=Neo4j RPM Repository
 5baseurl=https://yum.neo4j.com/stable/5
 6enabled=1
 7gpgcheck=1
 8EOF
 9yum install neo4j-5.7.0-1
10/usr/bin/neo4j-admin dbms set-initial-password secret1234

Note

Change password (secret1234) if you want.

Install Application (pygpgme required):

  1. Install rpm 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 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 OpenCelium

Configure environment:

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

1mysql_secure_installation

Note

Sometimes setting password doesn’t work prperly by mysql_secure_installation. Please check with this command:

1mysql -u root

If this works (without your password), please set your password again with this command:

1mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';"

Change password (root) if you want.

  1. Modify application.yml file for backend:

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

Note

Make changes inside the file application.yml! Change neo4j and mysql database password.

  1. Restart backend:

1oc restart_backend
  1. Welcome to OC:

1Visit opencelium http://SERVERIP