Since stable-11146 images, all Jitsi components run as a non-root user with a read-only root filesystem by default. The chart applies a strict securityContext to hardened components to satisfy the Kubernetes Pod Security Admission restricted profile.
Hardened components include:
web, prosody, jicofo, jvb, jigasi, transcriber, jibri (and their init containers)coturn (including init-coturn and acme-proxy init containers)- Metrics sidecars (
prosody, jicofo, jvb)
Default Security Configuration:
Containers are configured with runAsUser: 1000, runAsGroup: 1000, readOnlyRootFilesystem: true, and all capabilities dropped. They can only write to specific mounted paths like /run and /tmp. The jvb metrics sidecar is an exception, using UID 10001.
Note: Third-party images like Etherpad, Excalidraw, Skynet, and the Opus transcriber proxy do not satisfy the restricted profile by default and require manual configuration via their own securityContext values.
podSecurityContext:
fsGroup: 1000
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
readOnlyRootFilesystem: true
runAsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
seccompProfile:
type: RuntimeDefault