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. |
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
Note
Warning
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
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
1cd opencelium-docker
2docker compose down -v
3git pull
4docker compose up -d
From OC 3.x to 4.1
Note
Warning
Prepare Update
1. Stop Services:
1oc stop_backend
2systemctl stop nginx
2. Install MongoDB:
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
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
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:
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
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
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
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.
application.yml in your backup directory — and click Migrate to start.Note