Jibri from docker-jitsi-meet 4857 behind Traefik - "Failed to read the 'localStorage' property from 'Window': Access is denied for this document."

I’ve seen a lot of questions about this on these forums with various answers, but they’re all quite old and lacking in detail, so I’m hoping I can be very specific - not only to find help for myself, but also to act as a more definitive guide to others.

I’m deploying Jitsi using docker-jitsi-meet, using the latest stable-4857 release. I’m deploying behind Traefik as a reverse proxy which handles SSL termination for my host. I’m using Ansible to run docker-compose and you can see the role here (no passwords!).

The basic Jitsi setup is fine, but call recording with Jibri is giving me trouble. I’ve had the same “Access is denied for this document” error that many others have had, and I can’t seem to shift it. The relevant part of the log seems to be this below (new user, can’t attach files).

Can anybody point out exactly where I’m going wrong?

2020-09-27 21:45:37.309 INFO: [42] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Received start request, starting service
2020-09-27 21:45:37.360 INFO: [42] org.jitsi.jibri.api.xmpp.XmppApi.handleStartService() Parsed call url info: CallUrlInfo(baseUrl=https://meet.libit.co.uk, callName=separateproducesplungea
fter, urlParams=[])
2020-09-27 21:45:37.361 INFO: [42] org.jitsi.jibri.JibriManager.startFileRecording() Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=Call
UrlInfo(baseUrl=https://meet.libit.co.uk, callName=separateproducesplungeafter, urlParams=[])), sessionId=<redacted>, callLoginParams=XmppCredentials(domain=recorder.meet.libit.co.uk,
username=recorder, password=<redacted>)) finalize script path: /config/finalize.sh and recordings directory: /config/recordings
2020-09-27 21:45:38.099 INFO: [42] org.openqa.selenium.remote.ProtocolHandshake.createSession() Detected dialect: OSS
2020-09-27 21:45:38.115 INFO: [42] org.jitsi.jibri.selenium.JibriSelenium.<init>() Starting empty call check with a timeout of PT30S
2020-09-27 21:45:38.124 FINE: [42] org.jitsi.jibri.capture.ffmpeg.FfmpegCapturer.<init>() Detected os as OS: LINUX
2020-09-27 21:45:38.129 INFO: [42] org.jitsi.jibri.service.impl.FileRecordingJibriService.<init>() Writing recording to /config/recordings/zsgqmuxbycudoupn
2020-09-27 21:45:38.132 FINE: [42] org.jitsi.jibri.statsd.JibriStatsDClient.incrementCounter() Incrementing statsd counter: start:recording
2020-09-27 21:45:38.133 INFO: [42] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: IDLE -> BUSY
2020-09-27 21:45:38.133 INFO: [42] org.jitsi.jibri.api.xmpp.XmppApi.updatePresence() Jibri reports its status is now JibriStatus(busyStatus=BUSY, health=OverallHealth(healthStatus=HEALTHY,
details={})), publishing presence to connections
2020-09-27 21:45:38.134 FINE: [42] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@4e68a419
2020-09-27 21:45:38.134 FINE: [42] org.jitsi.xmpp.mucclient.MucClientManager.log() Replacing presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@3935e9a8
2020-09-27 21:45:38.136 INFO: [42] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending 'pending' response to start IQ
2020-09-27 21:45:38.138 FINE: [32] org.jitsi.xmpp.extensions.DefaultPacketExtensionProvider.parse() Could not add a provider for element busy-status from namespace http://jitsi.org/protocol
/jibri
2020-09-27 21:45:38.138 FINE: [32] org.jitsi.xmpp.extensions.DefaultPacketExtensionProvider.parse() Could not add a provider for element health-status from namespace http://jitsi.org/protoc
ol/health
2020-09-27 21:45:38.834 SEVERE: [54] org.jitsi.jibri.selenium.JibriSelenium.run() An error occurred while joining the call: org.openqa.selenium.WebDriverException: <unknown>: Failed to read
the 'localStorage' property from 'Window': Access is denied for this document.
(Session info: chrome=78.0.3904.97)
(Driver info: chromedriver=78.0.3904.105 (60e2d8774a8151efa6a00b1f358371b1e0e07ee2-refs/branch-heads/3904@{#877}),platform=Linux 4.9.0-12-amd64 x86_64) (WARNING: The server did not provid
e any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'be342cd4e791', ip: '172.23.0.7', os.name: 'Linux', os.arch: 'amd64', os.version: '4.9.0-12-amd64', java.version: '1.8.0_252'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 78.0.390
4.105 (60e2d8774a81..., userDataDir: /tmp/.com.google.Chrome.IJF6De}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:42417}, handlesAlert
s: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy:
normal, platform: LINUX, platformName: LINUX, proxy: Proxy(), rotatable: false, setWindowRect: true, strictFileInteractability: false, takesHeapSnapshot: true, takesScreenshot: true, timeou
ts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 78.0.3904.97, webStorageEnabled: true}