Updating

Compatibility Matrix

The tests were conducted using the archived package version (ZIP) and the Ubuntu 24.04 LTS operating system.



Warning

Before updating, always do a full backup of your system!

From OC 4.x to latest

Update zip file installations

Log in to OpenCelium, open the AdminPanel and click on Update Assistant.
Click here to see, how to use Update Assistant.

Update DEB package for Ubuntu 24.04 LTS

1apt update
2apt install --only-upgrade -y opencelium

Update RPM package for SUSE Linux Enterprise Server 15 SP5

1zypper refresh
2zypper update -y OpenCelium

Update RPM package for RedHat 9.2

1yum update
2yum update -y OpenCelium

Update Docker Compose

Warning

Before updating, do a backup of your configuraton files (conf folder and .env file)
to preserve your own settings!
1cd opencelium-docker
2docker compose down -v
3git pull
4docker compose up -d


From OC 3.x to 4.1

Note

This update guide is intended for existing zip file 3.x installations.
For all other installations, please send us an email to : support@opencelium.io

Prepare Update

1. Stop Services:

1oc stop_backend
2systemctl stop nginx

2. Install MongoDB:

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

3. Backup current installation

1mkdir /opt/opencelium /opt/openceliumOld
2mv -t /opt/openceliumOld /opt/conf /opt/logs /opt/scripts /opt/src /opt/tools /opt/CHANGELOG.rst /opt/LICENSE.md /opt/README.md

Install Application

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

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

Note

If any package is not available on Packagecloud, please contact our support team at support@opencelium.io.

Configuration

1. MariaDB:

Create mysql user for OpenCelium. Older versions always used the MySQL root user, but now we use a separate openlium db user.

Note

Please change the password (secret1234) in the following command line!
After running the command, enter your root password at password prompt, to create opencelium user.
1mysql -u root -p -e "GRANT ALL PRIVILEGES ON opencelium.* TO 'opencelium'@'localhost' IDENTIFIED BY 'secret1234'; FLUSH PRIVILEGES;"

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 old config and link new configuration file for OpenCelium.
Debian/Ubuntu:
1rm /etc/nginx/sites-enabled/oc
2ln -s /opt/opencelium/conf/nginx.conf /etc/nginx/sites-enabled/oc.conf

SUSE Linux Enterprise/RedHat:

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

Note

For SSL, use /opt/opencelium/conf/nginx-ssl.conf file and add your certificates.

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
2cp /opt/openceliumOld/src/backend/src/main/resources/invoker/* /opt/opencelium/src/backend/src/main/resources/invoker/
3cp /opt/openceliumOld/src/backend/src/main/resources/templates/* /opt/opencelium/src/backend/src/main/resources/templates/

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 had special settings in application.yml, copy these settings to the new application.yml
(See old application.yml in /opt/openceliumOld/src/backend/src/main/resources)

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 and frontend.

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

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

5. Migration from Neo4j to MongoDB:

Log in to OpenCelium, open the AdminPanel and click on Migration.
Click here to see, how to use Migration: