Giter VIP home page Giter VIP logo

jitsi-helm's Introduction

P.S. PRs with fixes or improvements are welcome ;-)

About

A Jitsi Meet Chart for Kubernetes with two replicas of HAproxy in peering. All Jitsi shards are in the backend via server-template in configuration.

This chart will install and configure: HAProxy statefulset, Jicofo deployment, JVB statefulset (scalable), web interface, prosody XMPP server.

Architecture

The Jitsi Kubernetes namespace has the following architecture:

Architecture Jitsi Meet

The setup shown above contains only a single shard (for visual clarity). Subsequent shards would be attached to the web service. A more detailed explanation of the system architecture with multiple shards can be found in architecture/architecture.md.

Install chart

To download and install the Jitsi Meet Chart, make sure that you have the Helm CLI (v2+) installed and clone this repository on your machine.

To install the chart in your terminal, go to the jitsi-helm repository and run the following command:

helm install -n jitsi ./ --wait

If not to use your own custom watermark, first create configmap from your png file:

kubectl create configmap -n <namespace> watermark --from-file=watermark.png

It assumes that you have a Nginx Ingress controller and you use CertManager along with ACME issuer type for managing the HTTPS certificates.

Because --wait flag, the status will be given once Jisti Meet is ready.

Updating the chart

To update the chart, in your terminal, go to the jitsi-helm repository and run the following command:

helm upgrade jitsi ./ --wait

Delete the chart

To delete the chart, in your terminal, go to the jitsi-helm repository and run the following command:

helm delete --purge jitsi

Configuration

The following table lists the configurable parameters of the Jitsi Meet chart and their default values.

Parameter Description Default
shardCont Number of shards 2
haproxy.image Docker image haproxy:2.1
ingress.enabled Enable ingress true
ingress.hosts List of hosts in this ingress empty
ingress.class Which ingressClassName to use empty
ingress.tls.enabled Enable TLS for ingress true
ingress.tls.secretName Name of the secret storing the TLS certificate and key jitsi-tls
ingress.extraPaths Extra paths to add to the ingress []
jicofo.image Jicofo docker image jitsi/jicofo
jicofo.imagePullPolicy Jicofo image pull policy Always
jicofo.extraEnvs Jicofo extra environment variables []
jvb.image JVB docker image jitsi/jvb
jvb.image.imagePullPolicy JVB image pull policy Always
jvb.replicas JVB replica count 1
jvb.monitoringEnable JVB exporter container true
jvb.hostPort JVB hostPort empty
jvb.nodeportPrefix JVB Node port prefix 30
jvb.extraEnvs JVB extra environment variables []
prosody.image Prosody docker image jitsi/prosody
prosody.image.imagePullPolicy Prosody image pull policy Always
prosody.extraEnvs Extra env var for prosody deployment []
prosody.extraVolumes Additional volumes to the prosody deployment []
prosody.extraVolumeMounts Additional volume mounts to the prosody deployment []
prosody.globalModules Additional global modules to enable on prosody []
prosody.globalConfig Additional global config parameters on prosody []
uvs.enable Whether the Matrix User Verification Service should be enabled false
web.image Web docker image jitsi/web
web.image.imagePullPolicy Web image pull policy Always
web.extraEnvs Extra env var for web deployment []
web.extraVolumes Additional volumes to the web deployment []
web.extraVolumeMounts Additional volume mounts to the web deployment []
watermark Watermark logo true

Running two jitsi instances inside the same cluster

  1. The second instance should be deployed with specific settings :
  • jvb.nodeportPrefix should use a different value from 30 to avoid ports conflicts or
  • jvb.hostPort that's distinct from other installations

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.