Updating

The Update Assistant

For ZIP installations the update is driven from the interface, under License & System → Update Assistant (admin menu, Alt+M). If a newer version is available in the package cloud it is announced here.

Three steps:

Step

Content

System Check

The current health of all components, and a reminder to back up.

Available Updates

Online packages from the package cloud, or an offline package you upload.

Apply Update

Runs the update.

../_images/OC5_update-assistant.png

Note

The page moved from /update_assistant to /update-assistant. The old URL still redirects.

Follow the progress with journalctl -xe -u opencelium -f.

Compatibility Matrix

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



Note

The matrix lists the upgrade paths that have actually been tested.
The 5.0 target rows are added once the release tests for the
individual source versions have been completed.

Warning

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

From OC 4.x to 5.0

Note

The conceptual side of this upgrade — what changed, what happens to your workflow data, and which configuration keys moved — is in Upgrading from 4.x. This section is the mechanics.

5.0 is a major release. Read this section before you update.

What changes, and what you must adjust

5.0 renames connections to workflows, rebuilds the frontend, and moves two application.yml keys. Your workflow documents are converted on read and are not rewritten until you save them.

All of that — including the three changes that silently break things if skipped — is covered once in Upgrading from 4.x. Read it before running the commands below.

Update zip file installations

Log in to OpenCelium, open the admin menu 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

Warning

3.x cannot be updated to 5.0 directly. Update to 4.1 as described here
first, then follow From OC 4.x to 5.0 above. The Neo4j-to-MongoDB
migration tool used in the last step of this guide was removed in 5.0,
so it has to be run while you are still on the 4.x line.

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:

Since version 4.0 OpenCelium stores its connection data in MongoDB. The Migration tool moves the data from Neo4j to MongoDB when you come from an older version. It has to be run as the last step, after the application itself was updated.

Log in to OpenCelium, open the AdminPanel and click on Migration.
Enter the Neo4j URL, user and password you used before — see the old application.yml in your backup directory — and click Migrate to start.

Note

The Migration card exists in the 4.x line only. It was removed in 5.0,
so this step must be completed before updating to 5.0.