The purpose of this project is to provide an example IBM Cloud Kubernetes Service use case that might be helpful for some during the pandemic. It provides a script that creates a free IBM Cloud Kubernetes Service cluster and installs a Jitsi Meet containerized instance on top of it.
Please note that with the free IBM Cloud Kubernetes cluster you can't get a nice URL route for your application nor integrate certificate signing using "Let's Encrypt". "Let's Encrypt" requires the Jitsi Web server being accessible through port 80 or 443. To enable both functionalities, Ingress is required. Ingress is only available for IBM Cloud Kubernetes Standard clusters.
So far only small conferences (1-3 participants) have been tested on the free IBM Cloud Kubernetes cluster. I'd expect issues with a large number of participants due to the limited worker node resources (2 vCPU, 4GB RAM) of the free service. The video quality might be limited to standard resolution.
Before running the script you need
- An IBM Cloud Account - register for a free one here.
- A Linux shell. WSL or MacOS shells might work as well but are not tested.
- The IBM Cloud CLI set up as described here. The
kubectl
andgit
tools required by this script are installed with the IBM Cloud CLI. - The
jq
JSON parser program
Edit the script to set the variables on top according to your needs.
Then navigate to a directory where the Jitsi Kubernetes deployment can be installed to.
Start jitsi-iks-install.sh
and enter your IBM Cloud credentials, then just wait a couple of minutes for the
Kubernetes cluster getting created and the Jitsi Meet instance getting deployed.
There are dependencies on the versions of the IBM Cloud CLI and the docker-jitsi-meet project as of November 2020. Changes to either of them might require adoption of the script.
If you have any questions or issues you can create a new issue here.
Pull requests are very welcome! Make sure your patches are well tested. Ideally create a topic branch for every separate change you make. For example:
- Fork the repo
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
This project was only possible thanks to Jitsi Meet and its Containerized variant Open Source projects.
If you would like to see the detailed LICENSE click here.