Files
k8s-apps/jitsi/jitsi.yaml
2026-03-29 13:16:04 +00:00

602 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:web-1.0.7257-1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
- containerPort: 443
env:
- name: TZ
value: "Europe/Berlin"
- name: PUBLIC_URL
value: "https://jitsi.undercloud.cf"
- 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.k8aux.undercloud.cf"
- name: XMPP_BOSH_URL_BASE
value: "http://xmpp.jitsi.svc.k8aux.undercloud.cf:5280"
- name: XMPP_PORT
value: "5222"
- name: XMPP_SERVER
value: "xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: JVB_ADVERTISE_IPS
value: "2001:470:72f0:2::31,10.0.2.31"
- name: DEFAULT_LANGUAGE
value: "de"
- name: XMPP_AUTH_DOMAIN
value: "auth.xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: XMPP_MUC_DOMAIN
value: "muc.xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "internal-muc.xmpp.jitsi.svc.k8aux.undercloud.cf"
#- 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: jitsi
---
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:prosody-0.12.3
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5222
- containerPort: 5347
- containerPort: 5280
env:
- name: TZ
value: "Europe/Berlin"
- name: PUBLIC_URL
value: "https://jitsi.undercloud.cf"
- 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.k8aux.undercloud.cf"
- name: XMPP_BOSH_URL_BASE
value: "http://xmpp.jitsi.svc.k8aux.undercloud.cf:5280"
- name: XMPP_PORT
value: "5222"
- name: XMPP_SERVER
value: "xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: JVB_ADVERTISE_IPS
value: "2001:470:72f0:2::31,10.0.2.31"
- name: XMPP_AUTH_DOMAIN
value: "auth.xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: XMPP_MUC_DOMAIN
value: "muc.xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "internal-muc.xmpp.jitsi.svc.k8aux.undercloud.cf"
#- 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: jitsi
---
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:jicofo-1.0-1029-1
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.k8aux.undercloud.cf"
- name: XMPP_BOSH_URL_BASE
value: "http://xmpp.jitsi.svc.k8aux.undercloud.cf:5280"
- name: XMPP_PORT
value: "5222"
- name: XMPP_SERVER
value: "xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: JVB_ADVERTISE_IPS
value: "2001:470:72f0:2::31,10.0.2.31"
- name: XMPP_AUTH_DOMAIN
value: "auth.xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: XMPP_MUC_DOMAIN
value: "muc.xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "internal-muc.xmpp.jitsi.svc.k8aux.undercloud.cf"
#- 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: jitsi
---
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:jvb-2.3-20-gfc17337e-1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 10000
- containerPort: 8080
env:
- name: TZ
value: "Europe/Berlin"
- name: PUBLIC_URL
value: "https://jitsi.undercloud.cf"
- 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.k8aux.undercloud.cf"
- name: XMPP_BOSH_URL_BASE
value: "http://xmpp.jitsi.svc.k8aux.undercloud.cf:5280"
- name: XMPP_PORT
value: "5222"
- name: XMPP_SERVER
value: "xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: JVB_ADVERTISE_IPS
value: "2001:470:72f0:2::31,10.0.2.31"
- name: JVB_DISABLE_STUN
value: "1"
- name: XMPP_AUTH_DOMAIN
value: "auth.xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: XMPP_MUC_DOMAIN
value: "muc.xmpp.jitsi.svc.k8aux.undercloud.cf"
- name: XMPP_INTERNAL_MUC_DOMAIN
value: "internal-muc.xmpp.jitsi.svc.k8aux.undercloud.cf"
#- 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:
internalTrafficPolicy: Cluster
ipFamilies:
- IPv6
- IPv4
ipFamilyPolicy: PreferDualStack
#ipFamilyPolicy: SingleStack
ports:
- name: jvb1
port: 10000
targetPort: 10000
- name: jvb2
port: 8080
targetPort: 8080
selector:
app: jvb
#sessionAffinity: None
type: ClusterIP
---