feat(jitsi): Add jitsi (#2911)

* add jitsi

* fix style

* fix

* update

* little mistake

* fix persistence

* update

* fix permission

* add test password

* little mistake

* change style

* add some dns

* update

* add question

* add some question

* some change

* Update charts/incubator/jitsi/values.yaml

Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>

* Update charts/incubator/jitsi/values.yaml

Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>

* Update charts/incubator/jitsi/values.yaml

Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>

* Update charts/incubator/jitsi/values.yaml

Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>

* update keywords

* Update charts/incubator/jitsi/questions.yaml

* Update charts/incubator/jitsi/questions.yaml

* Update charts/incubator/jitsi/questions.yaml

* Update charts/incubator/jitsi/questions.yaml

* add question persistence

Co-authored-by: Stavros Kois <47820033+stavros-k@users.noreply.github.com>
This commit is contained in:
sagit 2022-06-23 04:50:13 +08:00 committed by GitHub
parent 0d1431539c
commit cd00e5bab3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 802 additions and 0 deletions

View File

@ -0,0 +1,26 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
# OWNERS file for Kubernetes
OWNERS
# helm-docs templates
*.gotmpl

View File

@ -0,0 +1,26 @@
apiVersion: v2
appVersion: "latest"
description: Jitsi is a set of open-source projects that allows you to easily build and deploy secure video conferencing solutions
name: jitsi
version: 0.0.1
kubeVersion: ">=1.16.0-0"
keywords:
- jitsi
home: https://github.com/truecharts/apps/tree/master/charts/stable/jitsi
icon: https://truecharts.org/_static/img/appicons/jitsi.png
sources:
- https://jitsi.org
- https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-start
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 10.0.10
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
annotations:
truecharts.org/catagories: |
- work
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U

View File

@ -0,0 +1,368 @@
# Include{groups}
portals:
open:
protocols:
- "$kubernetes-resource_configmap_portal_protocol"
host:
- "$kubernetes-resource_configmap_portal_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
questions:
- variable: portal
group: "Container Image"
label: "Configure Portal Button"
schema:
type: dict
hidden: true
attrs:
- variable: enabled
label: "Enable"
description: "enable the portal button"
schema:
hidden: true
editable: false
type: boolean
default: true
# Include{global}
- variable: controller
group: "Controller"
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: advanced
label: "Show Advanced Controller Settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: type
description: "Please specify type of workload to deploy"
label: "(Advanced) Controller Type"
schema:
type: string
default: "deployment"
required: true
enum:
- value: "deployment"
description: "Deployment"
- value: "statefulset"
description: "Statefulset"
- value: "daemonset"
description: "Daemonset"
- variable: replicas
description: "Number of desired pod replicas"
label: "Desired Replicas"
schema:
type: int
default: 1
required: true
- variable: strategy
description: "Please specify type of workload to deploy"
label: "(Advanced) Update Strategy"
schema:
type: string
default: "Recreate"
required: true
enum:
- value: "Recreate"
description: "Recreate: Kill existing pods before creating new ones"
- value: "RollingUpdate"
description: "RollingUpdate: Create new pods and then kill old ones"
- value: "OnDelete"
description: "(Legacy) OnDelete: ignore .spec.template changes"
# Include{controllerExpert}
- variable: env
group: "Container Configuration"
label: "Image Environment"
schema:
additional_attrs: true
type: dict
attrs:
- variable: PUBLIC_URL
label: "PUBLIC_URL"
description: "Sets the PUBLIC_URL"
schema:
type: string
default: ""
- variable: JICOFO_AUTH_USER
label: "JICOFO_AUTH_USER"
description: "Sets the JICOFO_AUTH_USER"
schema:
type: string
required: true
default: "REPLACEME"
- variable: JICOFO_AUTH_PASSWORD
label: "JICOFO_AUTH_PASSWORD"
description: "Sets the JICOFO_AUTH_PASSWORD"
schema:
type: string
required: true
private: true
default: ""
- variable: JVB_AUTH_USER
label: "JVB_AUTH_USER"
description: "Sets the JVB_AUTH_USER"
schema:
type: string
required: true
default: ""
- variable: JVB_AUTH_PASSWORD
label: "JVB_AUTH_PASSWORD"
description: "Sets the JVB_AUTH_PASSWORD"
schema:
type: string
required: true
private: true
default: ""
# Include{containerConfig}
- variable: service
group: "Networking and Services"
label: "Configure Service(s)"
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: "Main Service"
description: "The Primary service on which the healthcheck runs, often the webUI"
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelector}
- variable: main
label: "Main Service Port Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: "Port"
description: "This port exposes the container port on the service"
schema:
type: int
default: 10247
required: true
- variable: advanced
label: "Show Advanced settings"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: protocol
label: "Port Type"
schema:
type: string
default: "HTTP"
enum:
- value: HTTP
description: "HTTP"
- value: "HTTPS"
description: "HTTPS"
- value: TCP
description: "TCP"
- value: "UDP"
description: "UDP"
- variable: nodePort
label: "Node Port (Optional)"
description: "This port gets exposed to the node. Only considered when service type is NodePort, Simple or LoadBalancer"
schema:
type: int
min: 9000
max: 65535
- variable: targetPort
label: "Target Port"
description: "The internal(!) port on the container the Application runs on"
schema:
type: int
default: 80
- variable: serviceexpert
group: "Networking and Services"
label: "Show Expert Config"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostNetwork
group: "Networking and Services"
label: "Host-Networking (Complicated)"
schema:
type: boolean
default: false
# Include{serviceExpert}
# Include{serviceList}
- variable: persistence
label: "Integrated Persistent Storage"
description: "Integrated Persistent Storage"
group: "Storage and Persistence"
schema:
additional_attrs: true
type: dict
attrs:
- variable: config
label: "App Config Storage"
description: "Stores the Application Config."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: crontabs
label: "App Crontabs Storage"
description: "Stores the Application Crontabs."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: transcripts
label: "App Transcripts Storage"
description: "Stores the Application Transcripts."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: prosodyconfig
label: "App ProsodycConfig Storage"
description: "Stores the Application ProsodycConfig."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: prosodyplugins
label: "App ProsodyPlugins Storage"
description: "Stores the Application ProsodyPlugins."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: jicofoconfig
label: "App JicofoConfig Storage"
description: "Stores the Application JicofoConfig."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
- variable: jvbconfig
label: "App JvbConfig Storage"
description: "Stores the Application JvbConfig."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceAdvanced}
# Include{persistenceList}
- variable: ingress
label: ""
group: "Ingress"
schema:
additional_attrs: true
type: dict
attrs:
- variable: main
label: "Main Ingress"
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressTLS}
# Include{ingressTraefik}
# Include{ingressExpert}
# Include{ingressList}
# Include{security}
- variable: advancedSecurity
label: "Show Advanced Security Settings"
group: "Security and Permissions"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: securityContext
label: "Security Context"
schema:
additional_attrs: true
type: dict
attrs:
- variable: privileged
label: "Privileged mode"
schema:
type: boolean
default: false
- variable: readOnlyRootFilesystem
label: "ReadOnly Root Filesystem"
schema:
type: boolean
default: false
- variable: allowPrivilegeEscalation
label: "Allow Privilege Escalation"
schema:
type: boolean
default: false
- variable: runAsNonRoot
label: "runAsNonRoot"
schema:
type: boolean
default: false
# Include{securityContextAdvanced}
- variable: podSecurityContext
group: "Security and Permissions"
label: "Pod Security Context"
schema:
additional_attrs: true
type: dict
attrs:
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 0
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID this App of the user running the application"
schema:
type: int
default: 0
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
# Include{podSecurityContextAdvanced}
# Include{resources}
# Include{advanced}
# Include{addons}

View File

@ -0,0 +1,2 @@
{{/* Make sure all variables are set properly */}}
{{- include "tc.common.loader.all" . }}

View File

@ -0,0 +1,380 @@
image:
repository: jitsi/web
pullPolicy: IfNotPresent
tag: stable-7287-2@sha256:c5edce4ba0cce759d105be16e05fbccefbab35ac7eb71cc9ec8ca1513b67ab76
prosodyImage:
repository: jitsi/prosody
tag: stable-7287-2@sha256:f805d678f090a6a47d1c1a88da3c70ee6b7261ee4628e4968af8a3c8cb0ba7cc
jicofoImage:
repository: jitsi/jicofo
tag: stable-7287-2@sha256:11df69648584953632c9c3d6192d9048e40f3e772daa3dcae30ca2aae1077fdd
jvbImage:
repository: jitsi/jvb
tag: stable-7287-2@sha256:50b1494fd2847fb15d5d514e25b60d702719d2222973cff967642b2784eb1cd2
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
podSecurityContext:
runAsUser: 0
runAsGroup: 0
env:
TZ: "{{ .Values.TZ }}"
JICOFO_AUTH_USER: "test"
JICOFO_AUTH_PASSWORD: “test123456”
JVB_AUTH_USER: "test"
JVB_AUTH_PASSWORD: "test123456"
PUBLIC_URL: "http://test.truecharts.org"
# AMPLITUDE_ID: ""
# ANALYTICS_SCRIPT_URLS:
# ANALYTICS_WHITELISTED_EVENTS:
# AUDIO_QUALITY_OPUS_BITRATE:
# CALLSTATS_CUSTOM_SCRIPT_URL:
# CALLSTATS_ID:
# CALLSTATS_SECRET:
# CHROME_EXTENSION_BANNER_JSON:
# CONFCODE_URL:
# CONFIG_EXTERNAL_CONNECT:
# DEFAULT_LANGUAGE:
# DEPLOYMENTINFO_ENVIRONMENT:
# DEPLOYMENTINFO_ENVIRONMENT_TYPE:
# DEPLOYMENTINFO_REGION:
# DEPLOYMENTINFO_SHARD:
# DEPLOYMENTINFO_USERREGION:
# DESKTOP_SHARING_FRAMERATE_MIN:
# DESKTOP_SHARING_FRAMERATE_MAX:
# DIALIN_NUMBERS_URL:
# DIALOUT_AUTH_URL:
# DIALOUT_CODES_URL:
# DISABLE_AUDIO_LEVELS:
# DISABLE_DEEP_LINKING:
# DISABLE_GRANT_MODERATOR:
# DISABLE_HTTPS:
# DISABLE_KICKOUT:
# DISABLE_POLLS:
# DISABLE_PRIVATE_CHAT:
# DISABLE_REACTIONS:
# DISABLE_REMOTE_VIDEO_MENU:
# DROPBOX_APPKEY:
# DROPBOX_REDIRECT_URI:
# DYNAMIC_BRANDING_URL:
# ENABLE_AUDIO_PROCESSING:
# ENABLE_AUTH:
# ENABLE_BREAKOUT_ROOMS:
# ENABLE_CALENDAR:
# ENABLE_COLIBRI_WEBSOCKET:
# ENABLE_E2EPING:
# ENABLE_FILE_RECORDING_SERVICE:
# ENABLE_FILE_RECORDING_SERVICE_SHARING:
# ENABLE_GUESTS:
# ENABLE_HSTS:
# ENABLE_HTTP_REDIRECT:
# ENABLE_IPV6:
ENABLE_LETSENCRYPT: 0
# ENABLE_LIPSYNC:
# ENABLE_NO_AUDIO_DETECTION:
# ENABLE_NOISY_MIC_DETECTION:
# ENABLE_OPUS_RED:
# ENABLE_PREJOIN_PAGE:
# ENABLE_P2P:
# ENABLE_WELCOME_PAGE:
# ENABLE_CLOSE_PAGE:
# ENABLE_RECORDING:
# ENABLE_REMB:
# ENABLE_REQUIRE_DISPLAY_NAME:
# ENABLE_SIMULCAST:
# ENABLE_STATS_ID:
# ENABLE_STEREO:
# ENABLE_SUBDOMAINS:
# ENABLE_TALK_WHILE_MUTED:
# ENABLE_TCC:
# ENABLE_TRANSCRIPTIONS:
# ENABLE_XMPP_WEBSOCKET:
# ENABLE_JAAS_COMPONENTS:
# ETHERPAD_PUBLIC_URL:
# ETHERPAD_URL_BASE:
# E2EPING_NUM_REQUESTS:
# E2EPING_MAX_CONFERENCE_SIZE:
# E2EPING_MAX_MESSAGE_PER_SECOND:
# GOOGLE_ANALYTICS_ID:
# GOOGLE_API_APP_CLIENT_ID:
# HIDE_PREMEETING_BUTTONS:
# INVITE_SERVICE_URL:
# LETSENCRYPT_DOMAIN:
# LETSENCRYPT_EMAIL:
# LETSENCRYPT_USE_STAGING:
# MATOMO_ENDPOINT:
# MATOMO_SITE_ID:
# MICROSOFT_API_APP_CLIENT_ID:
# NGINX_RESOLVER:
# NGINX_WORKER_PROCESSES:
# NGINX_WORKER_CONNECTIONS:
# PEOPLE_SEARCH_URL:
# P2P_PREFERRED_CODEC:
# RESOLUTION:
# RESOLUTION_MIN:
# RESOLUTION_WIDTH:
# RESOLUTION_WIDTH_MIN:
# START_AUDIO_MUTED:
# START_AUDIO_ONLY:
# START_BITRATE:
# START_SILENT:
# START_WITH_AUDIO_MUTED:
# START_VIDEO_MUTED:
# START_WITH_VIDEO_MUTED:
# TESTING_CAP_SCREENSHARE_BITRATE:
# TESTING_OCTO_PROBABILITY:
# TOKEN_AUTH_URL:
# TOOLBAR_BUTTONS:
# VIDEOQUALITY_BITRATE_H264_LOW:
# VIDEOQUALITY_BITRATE_H264_STANDARD:
# VIDEOQUALITY_BITRATE_H264_HIGH:
# VIDEOQUALITY_BITRATE_VP8_LOW:
# VIDEOQUALITY_BITRATE_VP8_STANDARD:
# VIDEOQUALITY_BITRATE_VP8_HIGH:
# VIDEOQUALITY_BITRATE_VP9_LOW:
# VIDEOQUALITY_BITRATE_VP9_STANDARD:
# VIDEOQUALITY_BITRATE_VP9_HIGH:
# VIDEOQUALITY_ENFORCE_PREFERRED_CODEC:
# VIDEOQUALITY_PREFERRED_CODEC:
XMPP_AUTH_DOMAIN: "localhost"
XMPP_BOSH_URL_BASE: "http://localhost:5280"
XMPP_DOMAIN: "localhost"
# XMPP_GUEST_DOMAIN:
XMPP_MUC_DOMAIN: "localhost"
# XMPP_RECORDER_DOMAIN:
# XMPP_PORT:
service:
main:
ports:
main:
port: 10247
targetPort: 80
additionalContainers:
prosody:
name: prosody
image: "{{ .Values.prosodyImage.repository }}:{{ .Values.prosodyImage.tag }}"
env:
# AUTH_TYPE:
# DISABLE_POLLS:
# ENABLE_AUTH:
# ENABLE_AV_MODERATION:
# ENABLE_BREAKOUT_ROOMS:
# ENABLE_GUESTS:
# ENABLE_LOBBY:
# ENABLE_RECORDING:
# ENABLE_XMPP_WEBSOCKET:
# ENABLE_JAAS_COMPONENTS:
# GLOBAL_CONFIG:
# GLOBAL_MODULES:
# JIBRI_RECORDER_USER:
# JIBRI_RECORDER_PASSWORD:
# JIBRI_XMPP_USER:
# JIBRI_XMPP_PASSWORD:
# JICOFO_COMPONENT_SECRET:
# JIGASI_XMPP_USER:
# JIGASI_XMPP_PASSWORD:
# JVB_AUTH_USER:
# JVB_AUTH_PASSWORD:
# JWT_APP_ID:
# JWT_APP_SECRET:
# JWT_ACCEPTED_ISSUERS:
# JWT_ACCEPTED_AUDIENCES:
# JWT_ASAP_KEYSERVER:
# JWT_ALLOW_EMPTY:
# JWT_AUTH_TYPE:
# JWT_TOKEN_AUTH_MODULE:
# MATRIX_UVS_URL:
# MATRIX_UVS_ISSUER:
# MATRIX_UVS_AUTH_TOKEN:
# MATRIX_UVS_SYNC_POWER_LEVELS:
# LOG_LEVEL:
# LDAP_AUTH_METHOD:
# LDAP_BASE:
# LDAP_BINDDN:
# LDAP_BINDPW:
# LDAP_FILTER:
# LDAP_VERSION:
# LDAP_TLS_CIPHERS:
# LDAP_TLS_CHECK_PEER:
# LDAP_TLS_CACERT_FILE:
# LDAP_TLS_CACERT_DIR:
# LDAP_START_TLS:
# LDAP_URL:
# LDAP_USE_TLS:
# PROSODY_RESERVATION_ENABLED:
# PROSODY_RESERVATION_REST_BASE_URL:
- name: PUBLIC_URL
value: "{{ .Values.env.PUBLIC_URL }}"
# TURN_CREDENTIALS:
# TURN_HOST:
# TURNS_HOST:
# TURN_PORT:
# TURNS_PORT:
- name: TZ
value: "{{ .Values.TZ }}"
- name: XMPP_DOMAIN
value: "localhost"
- name: XMPP_AUTH_DOMAIN
value: "localhost"
# XMPP_GUEST_DOMAIN:
- name: XMPP_MUC_DOMAIN
value: "localhost"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "localhost"
# XMPP_MODULES:
# XMPP_MUC_MODULES:
# XMPP_INTERNAL_MUC_MODULES:
# XMPP_RECORDER_DOMAIN:
# XMPP_PORT:
ports:
- containerPort: 5222
name: main
securityContext:
runAsUser: 0
runAsGroup: 0
readOnlyRootFilesystem: false
runAsNonRoot: false
volumeMounts:
- name: prosodyconfig
mountPath: "/config"
- name: prosodyplugins
mountPath: "/prosody-plugins-custom"
jicofo:
name: jicofo
image: "{{ .Values.jicofoImage.repository }}:{{ .Values.jicofoImage.tag }}"
env:
# AUTH_TYPE:
# BRIDGE_AVG_PARTICIPANT_STRESS:
# BRIDGE_STRESS_THRESHOLD:
# ENABLE_AUTH:
# ENABLE_AUTO_OWNER:
# ENABLE_CODEC_VP8:
# ENABLE_CODEC_VP9:
# ENABLE_CODEC_H264:
# ENABLE_OCTO:
# ENABLE_RECORDING:
# ENABLE_SCTP:
# ENABLE_AUTO_LOGIN:
- name: JICOFO_AUTH_USER
value: "{{ .Values.env.JICOFO_AUTH_USER }}"
- name: JICOFO_AUTH_PASSWORD
value: "{{ .Values.env.JICOFO_AUTH_PASSWORD }}"
# JICOFO_ENABLE_BRIDGE_HEALTH_CHECKS:
# JICOFO_CONF_INITIAL_PARTICIPANT_WAIT_TIMEOUT:
# JICOFO_CONF_SINGLE_PARTICIPANT_TIMEOUT:
# JICOFO_ENABLE_HEALTH_CHECKS:
# JICOFO_SHORT_ID:
# JIBRI_BREWERY_MUC:
# JIBRI_REQUEST_RETRIES:
# JIBRI_PENDING_TIMEOUT:
# JIGASI_BREWERY_MUC:
# JIGASI_SIP_URI:
# JVB_BREWERY_MUC:
# MAX_BRIDGE_PARTICIPANTS:
# OCTO_BRIDGE_SELECTION_STRATEGY:
# SENTRY_DSN="${JICOFO_SENTRY_DSN:-0}":
# SENTRY_ENVIRONMENT:
# SENTRY_RELEASE:
- name: TZ
value: "{{ .Values.TZ }}"
- name: XMPP_DOMAIN
value: "localhost"
- name: XMPP_AUTH_DOMAIN
value: "localhost"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "localhost"
- name: XMPP_MUC_DOMAIN
value: "localhost"
# XMPP_RECORDER_DOMAIN:
- name: XMPP_SERVER
value: "localhost"
# XMPP_PORT:
volumeMounts:
- name: jicofoconfig
mountPath: "/config"
securityContext:
runAsUser: 0
runAsGroup: 0
readOnlyRootFilesystem: false
runAsNonRoot: false
jvb:
name: jvb
image: "{{ .Values.jvbImage.repository }}:{{ .Values.jvbImage.tag }}"
env:
# DOCKER_HOST_ADDRESS:
# ENABLE_COLIBRI_WEBSOCKET:
# ENABLE_OCTO:
- name: JVB_AUTH_USER
value: "{{ .Values.env.JVB_AUTH_USER }}"
- name: JVB_AUTH_PASSWORD
value: "{{ .Values.env.JVB_AUTH_PASSWORD }}"
# JVB_BREWERY_MUC:
# JVB_PORT:
# JVB_MUC_NICKNAME:
# JVB_STUN_SERVERS:
# JVB_OCTO_BIND_ADDRESS:
# JVB_OCTO_PUBLIC_ADDRESS:
# JVB_OCTO_BIND_PORT:
# JVB_OCTO_REGION:
# JVB_WS_DOMAIN:
# JVB_WS_SERVER_ID:
- name: PUBLIC_URL
value: "{{ .Values.env.PUBLIC_URL }}"
# SENTRY_DSN="${JVB_SENTRY_DSN:-0}":
# SENTRY_ENVIRONMENT:
# SENTRY_RELEASE:
# COLIBRI_REST_ENABLED:
# SHUTDOWN_REST_ENABLED:
- name: TZ
value: "{{ .Values.TZ }}"
- name: XMPP_AUTH_DOMAIN
value: "localhost"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "localhost"
- name: XMPP_SERVER
value: "localhost"
# XMPP_POR:
ports:
- containerPort: 8080
name: main
securityContext:
runAsUser: 0
runAsGroup: 0
readOnlyRootFilesystem: false
runAsNonRoot: false
volumeMounts:
- name: jvbconfig
mountPath: "/config"
persistence:
config:
enabled: true
mountPath: "/config"
crontabs:
enabled: true
mountPath: "/var/spool/cron/crontabs"
transcripts:
enabled: true
mountPath: "/usr/share/jitsi-meet/transcripts"
prosodyconfig:
enabled: true
mountPath: "/prosodyconfig/config"
prosodyplugins:
enabled: true
mountPath: "/prosody-plugins-custom"
jicofoconfig:
enabled: true
mountPath: "/jicofoconfig/config"
jvbconfig:
enabled: true
mountPath: "/jvbconfig/config"