Upgrading OpenVidu CE deployment
- Upgrading OpenVidu CE deployment (AWS Cloudformation)
- Upgrading OpenVidu CE deployment (On premises)
Upgrading OpenVidu CE deployment (AWS Cloudformation) 🔗
If you have deployed using Cloudformation we strongly recommend to update by deploying a brandly new OpenVidu Cloudformation template corresponding to the version you want to update.
By deploying a new Cloudformation for each version you update, you can benefit of updated AMIs in your deployment and you can ensure that the upgrading process is not degraded by infrastructure changes that may be applied to the Cloudformation definition.
To do it, you just need to:
- Deploy the OpenVidu Cloudformation template of the version you want to deploy.
- If you have recordings, move the recording at
/opt/openvidu/recordings to the new deployment.
- If you have your app deployed next to OpenVidu, move your app to your new deployment.
However, if you don't want to deploy a new Cloudformation, you can follow the next section with instructions to upgrade OpenVidu CE On premises deployments if you wish, but you should know that the upgrading process may have some breaking changes if something in the Cloudformation template has changed between versions.
Upgrading OpenVidu CE deployment (On premises) 🔗
Connect to the server hosting OpenVidu CE through SSH. Log with
root permissions and go to OpenVidu installation path, by default
/opt/openvidu. From this point, instructions will assume the installation path of OpenVidu CE is
sudo -s cd /opt/openvidu # Recommended and default installation path
Then you can run the upgrade script with the following command. Change the desired version in the URL: instead of
install_openvidu_VERSION.sh use for example
curl https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/install_openvidu_VERSION.sh | bash -s upgrade
The installation steps will output their progress as they run. If everything goes well, at the end you will see a message with the final instructions to successfully complete the upgrade process:
================================================ Openvidu successfully upgraded to version VERSION ================================================ 1. A new file 'docker-compose.yml' has been created with the new OpenVidu VERSION services. 2. The previous file '.env' remains intact, but a new file '.env-VERSION' has been created. Transfer any configuration you wish to keep in the upgraded version from '.env' to '.env-VERSION'. When you are OK with it, rename and leave as the only '.env' file of the folder the new '.env-VERSION'. 3. If you were using Openvidu Call application, it has been automatically updated in file 'docker-compose.override.yml'. However, if you were using your own application, a file called 'docker-compose.override.yml-VERSION' has been created with the latest version of Openvidu Call. If you don't plan to use it you can delete it. 4. Start new version of Openvidu $ ./openvidu start If you want to rollback, all the files from the previous installation have been copied to folder '.old-2.28.0' For further information, check readme.md
Some notes on upgrading OpenVidu CE 🔗
- The upgrade process will restart all OpenVidu services. That means that all ongoing sessions will be destroyed.
- Persistent data is preserved when upgrading. This means that all of your recordings will be available in the new version.
- Old Docker images will take up valuable disk space of your machine. If you don't plan to reuse them again, delete them to reclaim your GBs. docker system prune command is very useful for doing so.
- Remember to update openvidu-browser library in your clients. Comply version compatibility according to Releases page.
- In case you have mobile applications: the previous minor version of openvidu-browser is always compatible with the next minor version of openvidu-server. This way you can upgrade your openvidu-server while giving your clients time to update their applications. Applications using the previous and the new version of openvidu-browser can coexist in the new openvidu-server version. For example, if you upgrade openvidu-server to 2.16.0, it will work fine with applications using both openvidu-browser 2.15.0 and 2.16.0. Of course, you must notify your users to update their applications until all of them are using openvidu-browser 2.16.0.