Files
k8s-apps/jitsi/jitsi.yaml
2026-03-29 14:28:50 +00:00

612 lines
16 KiB
YAML

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
namespace: jitsi
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 512Mi
storageClassName: cephfs-hyper
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend
namespace: jitsi
labels:
app: frontend
spec:
replicas: 1
selector:
matchLabels:
app: frontend
template:
metadata:
annotations:
#backup.velero.io/backup-volumes: html
labels:
app: frontend
spec:
dnsConfig:
options:
- name: ndots
value: "1"
#securityContext:
# runAsUser: 1000
# runAsGroup: 1000
# fsGroup: 1000
containers:
- name: frontend
resources:
#requests:
# memory: "10Mi"
# cpu: "250m"
#limits:
# memory: "256Mi"
# cpu: "10m"
image: jitsi/web:stable-10741
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
- containerPort: 443
env:
- name: TZ
value: "Europe/Berlin"
- name: PUBLIC_URL
value: "https://jitsi.apps.undercloud.dev"
- name: JICOFO_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JICOFO_AUTH_PASSWORD
- name: JVB_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JVB_AUTH_PASSWORD
- name: JIGASI_XMPP_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIGASI_XMPP_PASSWORD
- name: JIBRI_RECORDER_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIBRI_RECORDER_PASSWORD
- name: JIBRI_XMPP_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIBRI_XMPP_PASSWORD
- name: ENABLE_LETSENCRYPT
value: "0"
- name: XMPP_DOMAIN
value: "xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_BOSH_URL_BASE
value: "http://xmpp.jitsi.svc.k8s.undercloud.local:5280"
- name: XMPP_PORT
value: "5222"
- name: XMPP_SERVER
value: "xmpp.jitsi.svc.k8s.undercloud.local"
#- name: JVB_ADVERTISE_IPS
# value: "2001:470:7116:f:1::31,10.0.91.31"
- name: DEFAULT_LANGUAGE
value: "de"
- name: XMPP_AUTH_DOMAIN
value: "auth.xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_MUC_DOMAIN
value: "muc.xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "internal-muc.xmpp.jitsi.svc.k8s.undercloud.local"
#- name: PUID
# value: "1000"
#- name: PGID
# value: "1000"
#lifecycle:
# postStart:
# exec:
# command: ["/bin/sh", "-c", "cp -rf /opt/bastillion/jetty/bastillion/WEB-INF/classe/BastillionConfig.properties.tmp /opt/bastillion/jetty/bastillion/WEB-INF/classe/BastillionConfig.properties"]
volumeMounts:
- mountPath: /config
name: data
subPath: config
- mountPath: /var/spool/cron/crontabs
name: data
subPath: crontabs
- mountPath: /usr/share/jitsi-meet/transcripts
name: data
subPath: transcripts
volumes:
- name: data
persistentVolumeClaim:
claimName: data
readOnly: false
---
apiVersion: v1
kind: Service
metadata:
name: frontend
namespace: jitsi
spec:
internalTrafficPolicy: Cluster
ipFamilies:
- IPv6
- IPv4
ipFamilyPolicy: PreferDualStack
#ipFamilyPolicy: SingleStack
ports:
- name: http
port: 80
targetPort: 80
- name: https
port: 443
targetPort: 443
selector:
app: frontend
#sessionAffinity: None
type: ClusterIP
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: xmpp-data
namespace: jitsi
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 512Mi
storageClassName: cephfs-hyper
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: xmpp
namespace: jitsi
labels:
app: xmpp
spec:
replicas: 1
selector:
matchLabels:
app: xmpp
template:
metadata:
annotations:
#backup.velero.io/backup-volumes: html
labels:
app: xmpp
spec:
dnsConfig:
options:
- name: ndots
value: "1"
#securityContext:
# runAsUser: 1000
# runAsGroup: 1000
# fsGroup: 1000
containers:
- name: xmpp
resources:
#requests:
# memory: "10Mi"
# cpu: "250m"
#limits:
# memory: "256Mi"
# cpu: "10m"
image: jitsi/prosody:stable-10741
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5222
- containerPort: 5347
- containerPort: 5280
env:
- name: TZ
value: "Europe/Berlin"
- name: PUBLIC_URL
value: "https://jitsi.apps.undercloud.dev"
- name: JICOFO_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JICOFO_AUTH_PASSWORD
- name: JVB_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JVB_AUTH_PASSWORD
- name: JIGASI_XMPP_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIGASI_XMPP_PASSWORD
- name: JIBRI_RECORDER_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIBRI_RECORDER_PASSWORD
- name: JIBRI_XMPP_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIBRI_XMPP_PASSWORD
- name: ENABLE_LETSENCRYPT
value: "0"
- name: ENABLE_IPV6
value: "1"
- name: XMPP_DOMAIN
value: "xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_BOSH_URL_BASE
value: "http://xmpp.jitsi.svc.k8s.undercloud.local:5280"
- name: XMPP_PORT
value: "5222"
- name: XMPP_SERVER
value: "xmpp.jitsi.svc.k8s.undercloud.local"
#- name: JVB_ADVERTISE_IPS
# value: "2001:470:7116:f:1::31,10.0.91.31"
- name: XMPP_AUTH_DOMAIN
value: "auth.xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_MUC_DOMAIN
value: "muc.xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "internal-muc.xmpp.jitsi.svc.k8s.undercloud.local"
#- RESET_APPLICATION_SSH_KEY=false # set to true to regenerate and import SSH keys
#- SSH_KEY_TYPE=rsa # SSH key type 'dsa', 'rsa', or 'ecdsa' for generated keys
#- SSH_KEY_LENGTH=2048 # SSH key length for generated keys 2048 => 'rsa','dsa'; 521 => 'ecdsa'
#- name: PUID
# value: "1000"
#- name: PGID
# value: "1000"
#lifecycle:
# postStart:
# exec:
# command: ["/bin/sh", "-c", "cp -rf /opt/bastillion/jetty/bastillion/WEB-INF/classe/BastillionConfig.properties.tmp /opt/bastillion/jetty/bastillion/WEB-INF/classe/BastillionConfig.properties"]
volumeMounts:
- mountPath: /config
name: data
subPath: config
- mountPath: /prosody-plugins-custom
name: data
subPath: plugins
volumes:
- name: data
persistentVolumeClaim:
claimName: xmpp-data
readOnly: false
---
apiVersion: v1
kind: Service
metadata:
name: xmpp
namespace: jitsi
spec:
internalTrafficPolicy: Cluster
ipFamilies:
- IPv6
- IPv4
ipFamilyPolicy: PreferDualStack
#ipFamilyPolicy: SingleStack
ports:
- name: xmpp1
port: 5222
targetPort: 5222
- name: xmpp2
port: 5347
targetPort: 5347
- name: xmpp3
port: 5280
targetPort: 5280
selector:
app: xmpp
#sessionAffinity: None
type: ClusterIP
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: focus-data
namespace: jitsi
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 512Mi
storageClassName: cephfs-hyper
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: focus
namespace: jitsi
labels:
app: focus
spec:
replicas: 1
selector:
matchLabels:
app: focus
template:
metadata:
annotations:
#backup.velero.io/backup-volumes: html
labels:
app: focus
spec:
dnsConfig:
options:
- name: ndots
value: "1"
#securityContext:
# runAsUser: 1000
# runAsGroup: 1000
# fsGroup: 1000
containers:
- name: focus
resources:
#requests:
# memory: "10Mi"
# cpu: "250m"
#limits:
# memory: "256Mi"
# cpu: "10m"
image: jitsi/jicofo:stable-10741
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8888
env:
- name: JICOFO_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JICOFO_AUTH_PASSWORD
- name: JVB_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JVB_AUTH_PASSWORD
- name: JIGASI_XMPP_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIGASI_XMPP_PASSWORD
- name: JIBRI_RECORDER_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIBRI_RECORDER_PASSWORD
- name: JIBRI_XMPP_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIBRI_XMPP_PASSWORD
- name: ENABLE_LETSENCRYPT
value: "0"
- name: ENABLE_IPV6
value: "1"
- name: XMPP_DOMAIN
value: "xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_BOSH_URL_BASE
value: "http://xmpp.jitsi.svc.k8s.undercloud.local:5280"
- name: XMPP_PORT
value: "5222"
- name: XMPP_SERVER
value: "xmpp.jitsi.svc.k8s.undercloud.local"
#- name: JVB_ADVERTISE_IPS
# value: "2001:470:7116:f:1::31,10.0.91.31"
- name: XMPP_AUTH_DOMAIN
value: "auth.xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_MUC_DOMAIN
value: "muc.xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "internal-muc.xmpp.jitsi.svc.k8s.undercloud.local"
#- RESET_APPLICATION_SSH_KEY=false # set to true to regenerate and import SSH keys
#- SSH_KEY_TYPE=rsa # SSH key type 'dsa', 'rsa', or 'ecdsa' for generated keys
#- SSH_KEY_LENGTH=2048 # SSH key length for generated keys 2048 => 'rsa','dsa'; 521 => 'ecdsa'
#- name: PUID
# value: "1000"
#- name: PGID
# value: "1000"
#lifecycle:
# postStart:
# exec:
# command: ["/bin/sh", "-c", "cp -rf /opt/bastillion/jetty/bastillion/WEB-INF/classe/BastillionConfig.properties.tmp /opt/bastillion/jetty/bastillion/WEB-INF/classe/BastillionConfig.properties"]
volumeMounts:
- mountPath: /config
name: data
subPath: config
volumes:
- name: data
persistentVolumeClaim:
claimName: focus-data
readOnly: false
---
apiVersion: v1
kind: Service
metadata:
name: focus
namespace: jitsi
spec:
internalTrafficPolicy: Cluster
ipFamilies:
- IPv6
- IPv4
ipFamilyPolicy: PreferDualStack
#ipFamilyPolicy: SingleStack
ports:
- name: focus
port: 8888
targetPort: 8888
selector:
app: focus
#sessionAffinity: None
type: ClusterIP
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jvb-data
namespace: jitsi
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 512Mi
storageClassName: cephfs-hyper
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: jvb
namespace: jitsi
labels:
app: jvb
spec:
replicas: 1
selector:
matchLabels:
app: jvb
template:
metadata:
annotations:
#backup.velero.io/backup-volumes: html
labels:
app: jvb
spec:
dnsConfig:
options:
- name: ndots
value: "1"
#securityContext:
# runAsUser: 1000
# runAsGroup: 1000
# fsGroup: 1000
containers:
- name: jvb
resources:
#requests:
# memory: "10Mi"
# cpu: "250m"
#limits:
# memory: "256Mi"
# cpu: "10m"
image: jitsi/jvb:stable-10741
imagePullPolicy: IfNotPresent
ports:
- name: media
containerPort: 10000
protocol: UDP
- name: colibri
containerPort: 8080
protocol: TCP
env:
- name: TZ
value: "Europe/Berlin"
- name: PUBLIC_URL
value: "https://jitsi.apps.undercloud.dev"
- name: JICOFO_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JICOFO_AUTH_PASSWORD
- name: JVB_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JVB_AUTH_PASSWORD
- name: JIGASI_XMPP_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIGASI_XMPP_PASSWORD
- name: JIBRI_RECORDER_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIBRI_RECORDER_PASSWORD
- name: JIBRI_XMPP_PASSWORD
valueFrom:
secretKeyRef:
name: jitsi
key: JIBRI_XMPP_PASSWORD
- name: ENABLE_LETSENCRYPT
value: "0"
- name: ENABLE_IPV6
value: "1"
- name: JVB_PORT
value: "10000"
- name: XMPP_DOMAIN
value: "xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_BOSH_URL_BASE
value: "http://xmpp.jitsi.svc.k8s.undercloud.local:5280"
- name: XMPP_PORT
value: "5222"
- name: XMPP_SERVER
value: "xmpp.jitsi.svc.k8s.undercloud.local"
#- name: JVB_ADVERTISE_IPS
# value: "2001:470:7116:f:1::31,10.0.91.31"
#- name: JVB_DISABLE_STUN
# value: "1"
- name: JVB_STUN_SERVERS
value: "stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302"
- name: XMPP_AUTH_DOMAIN
value: "auth.xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_MUC_DOMAIN
value: "muc.xmpp.jitsi.svc.k8s.undercloud.local"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "internal-muc.xmpp.jitsi.svc.k8s.undercloud.local"
#- RESET_APPLICATION_SSH_KEY=false # set to true to regenerate and import SSH keys
#- SSH_KEY_TYPE=rsa # SSH key type 'dsa', 'rsa', or 'ecdsa' for generated keys
#- SSH_KEY_LENGTH=2048 # SSH key length for generated keys 2048 => 'rsa','dsa'; 521 => 'ecdsa'
#- name: PUID
# value: "1000"
#- name: PGID
# value: "1000"
#lifecycle:
# postStart:
# exec:
# command: ["/bin/sh", "-c", "cp -rf /opt/bastillion/jetty/bastillion/WEB-INF/classe/BastillionConfig.properties.tmp /opt/bastillion/jetty/bastillion/WEB-INF/classe/BastillionConfig.properties"]
volumeMounts:
- mountPath: /config
name: data
subPath: config
volumes:
- name: data
persistentVolumeClaim:
claimName: jvb-data
readOnly: false
---
apiVersion: v1
kind: Service
metadata:
name: jvb
namespace: jitsi
spec:
type: ClusterIP
internalTrafficPolicy: Cluster
ipFamilyPolicy: PreferDualStack
ipFamilies:
- IPv6
- IPv4
clusterIPs:
- 2001:470:7116:f:1::31
- 10.0.91.31
clusterIP: 2001:470:7116:f:1::31
ports:
- name: media
port: 10000
targetPort: 10000
protocol: UDP
- name: colibri
port: 8080
targetPort: 8080
protocol: TCP
selector:
app: jvb
---