jitsi / docker-jitsi-meet

Jitsi Meet on Docker
https://hub.docker.com/u/jitsi/
Apache License 2.0
3.04k stars 1.36k forks source link

Recording fails #240

Closed sualko closed 4 years ago

sualko commented 4 years ago

Hi everyone, I tried to enable jibri and encountered some problems. First I got the following error message:

org.jitsi.jibri.service.impl.FileRecordingJibriService.finalize() Failed to run finalize script: java.io.IOException: Cannot run program "/config/finalize.sh": error=2, No such file or directory

But this was easy to fix. I just created a file in my config folder, but now I get the following:

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.

I think the problem is that Window is different from window, but I don't know where to find the code. Can you help me?

Complete log ``` 2020-03-20 09:15:16.071 FINE: [35] org.jitsi.xmpp.mucclient.MucClient.log() Received an IQ with type set: IQ Stanza (jibri http://jitsi.org/protocol/jibri) [to=jibri@auth.meet.jitsi/edAXYQ94,from=jibribrewery@internal-muc.meet.jitsi/focus,id=amlicmlAYXV0aC5tZWV0LmppdHNpL2VkQVhZUTk0ADBCVGx1LTI1NABVsWt3X1n/o6vD6m2Rlbe7,type=set,] 2020-03-20 09:15:16.073 INFO: [35] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq from environment [MucClient id=xmpp.meet.jitsi hostname=xmpp.meet.jitsi] 2020-03-20 09:15:16.075 INFO: [35] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Received start request 2020-03-20 09:15:16.078 INFO: [35] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending 'pending' response to start IQ 2020-03-20 09:15:16.078 INFO: [38] org.jitsi.jibri.api.xmpp.XmppApi.run() Starting service 2020-03-20 09:15:16.107 INFO: [38] org.jitsi.jibri.api.xmpp.XmppApi.handleStartService() Parsed call url info: CallUrlInfo(baseUrl=https://meet.jitsi, callName=asdfxxssexfadsf, urlParams=[]) 2020-03-20 09:15:16.108 INFO: [38] org.jitsi.jibri.JibriManager.startFileRecording() Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://meet.jitsi, callName=asdfxxssexfadsf, urlParams=[])), sessionId=fbzkuvzxovfdfkxh, callLoginParams=XmppCredentials(domain=recorder.meet.jitsi, username=recorder, password=passw0rd)) finalize script path: /config/finalize.sh and recordings directory: /config/recordings 2020-03-20 09:15:16.764 INFO: [38] org.openqa.selenium.remote.ProtocolHandshake.createSession() Detected dialect: OSS 2020-03-20 09:15:16.779 INFO: [38] org.jitsi.jibri.selenium.JibriSelenium.() Starting empty call check with a timeout of PT30S 2020-03-20 09:15:16.790 FINE: [38] org.jitsi.jibri.capture.ffmpeg.FfmpegCapturer.() Detected os as OS: LINUX 2020-03-20 09:15:16.794 INFO: [38] org.jitsi.jibri.service.impl.FileRecordingJibriService.() Writing recording to /config/recordings/fbzkuvzxovfdfkxh 2020-03-20 09:15:16.796 FINE: [38] org.jitsi.jibri.statsd.JibriStatsDClient.incrementCounter() Incrementing statsd counter: start:recording 2020-03-20 09:15:16.797 INFO: [38] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: IDLE -> BUSY 2020-03-20 09:15:16.797 INFO: [38] 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-03-20 09:15:16.798 INFO: [38] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@504ca55b 2020-03-20 09:15:16.798 FINE: [38] org.jitsi.xmpp.mucclient.MucClientManager.log() Replacing presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@5aa6202e 2020-03-20 09:15:16.800 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-03-20 09:15:16.801 FINE: [32] org.jitsi.xmpp.extensions.DefaultPacketExtensionProvider.parse() Could not add a provider for element health-status from namespace http://jitsi.org/protocol/health 2020-03-20 09:15:16.928 SEVERE: [48] org.jitsi.jibri.selenium.JibriSelenium.run() An error occurred while joining the call: org.openqa.selenium.WebDriverException: : Failed to read the 'localStorage' property from 'Window': Access is denied for this document. (Session info: chrome=78.0.3904.108) (Driver info: chromedriver=78.0.3904.105 (60e2d8774a8151efa6a00b1f358371b1e0e07ee2-refs/branch-heads/3904@{#877}),platform=Linux 4.15.0-91-generic x86_64) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 0 milliseconds Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: '6648c4582aae', ip: '172.18.0.4', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-91-generic', java.version: '1.8.0_222' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 78.0.3904.105 (60e2d8774a81..., userDataDir: /tmp/.com.google.Chrome.cJTEvn}, cssSelectorsEnabled: true, databaseEnabled: false, goog:chromeOptions: {debuggerAddress: localhost:41075}, handlesAlerts: 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, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unexpectedAlertBehaviour: ignore, unhandledPromptBehavior: ignore, version: 78.0.3904.108, webStorageEnabled: true} Session ID: c7d783873cf12c9cf21c44af1ca43a71 with stack: sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.lang.reflect.Constructor.newInstance(Constructor.java:423) org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214) org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166) org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40) org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80) org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44) org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543) org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:480) org.jitsi.jibri.selenium.JibriSelenium.setLocalStorageValues(JibriSelenium.kt:175) org.jitsi.jibri.selenium.JibriSelenium.access$setLocalStorageValues(JibriSelenium.kt:112) org.jitsi.jibri.selenium.JibriSelenium$joinCall$1.run(JibriSelenium.kt:255) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) java.util.concurrent.FutureTask.run(FutureTask.java:266) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) java.lang.Thread.run(Thread.java:748) 2020-03-20 09:15:16.931 INFO: [48] org.jitsi.jibri.selenium.JibriSelenium.onSeleniumStateChange() Transitioning from state Starting up to Error: SESSION Failed to join call 2020-03-20 09:15:16.931 INFO: [48] org.jitsi.jibri.service.impl.FileRecordingJibriService.onServiceStateChange() File recording service transitioning from state Starting up to Error: SESSION Failed to join call 2020-03-20 09:15:16.932 INFO: [48] org.jitsi.jibri.api.xmpp.XmppApi.invoke() Current service had an error, sending error iq 2020-03-20 09:15:16.932 FINE: [48] org.jitsi.jibri.statsd.JibriStatsDClient.incrementCounter() Incrementing statsd counter: stop:recording 2020-03-20 09:15:16.933 INFO: [48] org.jitsi.jibri.JibriManager.stopService() Stopping the current service 2020-03-20 09:15:16.933 INFO: [48] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Stopping capturer 2020-03-20 09:15:16.934 INFO: [48] org.jitsi.jibri.util.JibriSubprocess.ffmpeg.stop() Stopping ffmpeg process 2020-03-20 09:15:16.934 INFO: [48] org.jitsi.jibri.util.JibriSubprocess.ffmpeg.stop() ffmpeg exited with value null 2020-03-20 09:15:16.934 INFO: [48] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Quitting selenium 2020-03-20 09:15:16.943 INFO: [48] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Participants in this recording: [] 2020-03-20 09:15:16.987 INFO: [48] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 0 log entries for type browser 2020-03-20 09:15:17.001 INFO: [48] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 110 log entries for type driver 2020-03-20 09:15:17.026 INFO: [48] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 0 log entries for type client 2020-03-20 09:15:17.027 INFO: [48] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Leaving web call 2020-03-20 09:15:17.045 INFO: [48] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Quitting chrome driver 2020-03-20 09:15:17.116 INFO: [48] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Chrome driver quit 2020-03-20 09:15:17.116 INFO: [48] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Finalizing the recording 2020-03-20 09:15:27.125 SEVERE: [48] org.jitsi.jibri.service.impl.FileRecordingJibriService.finalize() Timed out waiting for process logger task to complete 2020-03-20 09:15:27.126 INFO: [48] org.jitsi.jibri.service.impl.FileRecordingJibriService.finalize() Recording finalize script finished with exit value 0 2020-03-20 09:15:27.127 INFO: [48] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: BUSY -> IDLE 2020-03-20 09:15:27.128 INFO: [48] org.jitsi.jibri.api.xmpp.XmppApi.updatePresence() Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections 2020-03-20 09:15:27.128 INFO: [48] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@754e0f5b 2020-03-20 09:15:27.129 FINE: [48] org.jitsi.xmpp.mucclient.MucClientManager.log() Replacing presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@504ca55b 2020-03-20 09:15:27.132 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-03-20 09:15:27.132 FINE: [32] org.jitsi.xmpp.extensions.DefaultPacketExtensionProvider.parse() Could not add a provider for element health-status from namespace http://jitsi.org/protocol/health ```
saghul commented 4 years ago

@bbaldino any idea why the launched Chrome wouldn't have localStorage available?

sualko commented 4 years ago

I think there is the localStorage available, but it's probably a typo. Window (first uppercase letter), at least in my normal chrome installation, is different from the usual window. It could also be the case that the context is just wrong.

bbaldino commented 4 years ago

Some other people have reported this, but I don't think it's something we've run into, so I don't think it's a fundamental Jibri issue, but something with the deployment? I don't know more than just googling for the chrome error.

sualko commented 4 years ago

The chromium project reports that this is a security warning, if third-party cookies and site data is blocked.

On the jitsi forum there is also a report about the same error and the author suggests the following solution:

I found out that I forgot to add the name of Jitsi server (video.*) to the hosts file.

Does this help you?

CStransky commented 4 years ago

According to the logs in the docker image, it seems the default jibri image attempts to join https://meet.jitsi/ instead of https://meet./ which results in a certificate validation error. I guess it takes the value for the domain from the xmpp settings? The error message is a little misleading.

sualko commented 4 years ago

meet.jitsi is the default domain for the docker images, see https://github.com/jitsi/docker-jitsi-meet/blob/master/env.example

CStransky commented 4 years ago

Yes @sualko, however, it's under the section:

Advanced configuration options (you generally don't need to change these)

So, i think either the documentation should be changed to reflect that changing the PUBLIC_URL is not sufficient, since jibri will use the XMPP_DOMAIN url or the jibri image should use PUBLIC_URL to connect to the room.

saghul commented 4 years ago

That traffic happens over the Docker internal network so I'm not sure why it's failing :-/

sualko commented 4 years ago

Btw can someone reproduce this?

CStransky commented 4 years ago

@saghul The connection itself is not failing, it can reach the server at meet.jitsi, but selenium gets presented the wrong certificate (in our case meet.ourdomain.de instead of meet.jitsi) and as a result correctly refuses to connect since the hostname doesn't match. As a result no window.localStorage is available. The solution would be to use the PUBLIC_URL to connect to the server. (Or disable certificate checking in selenium, which shouldn't be considered in the first place.)

sualko commented 4 years ago

Can selenium not just use an unencrypted connection, because in my case an apache is handling tls and therefore I disabled tls.

fako1024 commented 4 years ago

@sualko I am seeing the same behaviour, having deployed a more or less vanilla setup via docker-compose from master branch a few days ago, first without the Jibri component, everything works like a charm. Then, after adding Jibri I am seeing the same error as described above. Just to be sure, I also wiped the whole generated config for all components and started fresh, but same result.

saghul commented 4 years ago

Or disable certificate checking in selenium, which shouldn't be considered in the first place.

Arguably that is not a bad idea in this case. All the traffic goes over the user defined network in Docker, not the public internet.

Now, I agree this is bad, but alas it's not a config issue, we need to modify Jibri to fix this.

aaronkvanmeerten commented 4 years ago

As far as I understand it, it is not selenium that's the issue but rather Chrome itself. Chrome won't activate WebRTC connections with https:// and so a valid certificate is required for that reason.

saghul commented 4 years ago

It will, if we namage to accept a self-signed cert for example. We could have an nginx entry for meet.jitsi, with a self-signed cert.

saghul commented 4 years ago

Actually, I think a self-signed already works, that's how I tested it. I'll try to fix this tomorrow by having a self-signed cert for meet.jitsi

peterauyeung commented 4 years ago

I pull the image which updated 14hrs ago but still having the same recording issue

please-wait commented 4 years ago

Interestingly, we were actually successfully recoding up until today. Then it just stopped working on that machine (after a reboot). Also not working on a new vanilla installation I tried on a new machine.

bbaldino commented 4 years ago

What version is this (that you pulled and started failing)?

peterauyeung commented 4 years ago

Latest

$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE jitsi/jibri latest 770b397dc6d5 20 hours ago 745MB jitsi/etherpad latest 79b9096be9bd 21 hours ago 1.01GB jitsi/jvb latest fd8201652975 21 hours ago 276MB jitsi/jicofo latest 773ffe263260 21 hours ago 277MB jitsi/prosody latest 5734ef478ff3 21 hours ago 256MB jitsi/web latest 7afd18fc710a 21 hours ago 266MB

please-wait commented 4 years ago

Ok, here is what I've figured out: It has to do with the config file (.jitsi-meet-config) at least in my case. I recalled that I had renamed the config file after the reboot and had created an empty one (I guess just to do a clean start). That was when I faced the Jibri failure. Since I had the original one but renamed, I renamed it back in and now the recording works!

As for what is special in the config file, I have no idea unfortunately. I had gradually turned on authentication, HTTP redirect to HTTPS, recording, etc. I am thinking perhaps these have made something in the config file that a clean install with jibri right from the beginning is not making? sorry, it's all guesses.

saghul commented 4 years ago

It's not fixed in the latest images. It will only work if you are using a self-signed cert.

saghul commented 4 years ago

What version is this (that you pulled and started failing)?

@bbaldino It's not a Jibri issue (yet), it has do to with the Docker setup.

JBleher commented 4 years ago

Hey @saghui, I have the same problem. I am using jitsi behind an NGINX reverse proxy and I am rather new jitisi and jibri. I would like to try to apply your solution. As I understand, jibri needs a SSL connection to the container in which the meeting takes place, since the selenium Chrome browser running inside the Jibri container does not record unless an SSL connection is enabled. Your solution would be a self signed certificate. Where do I place it?

It seems this is related to this issue, am I correct? https://github.com/jitsi/jibri/issues/240#issuecomment-578086581

Where do I change the setting in the jibri docker image for the Chrome capabilities?

saghul commented 4 years ago

Yes, it's that issue.

There is no setting to change. We need to create a self-signed cert for the "meet.jitsi" domain and configure nginx accordingly.

JBleher commented 4 years ago

So, you mean the nginx server in the web container? Isn't there already a self signed certificat present in the ssl.conf?

# ssl certs
{{ if .Env.ENABLE_LETSENCRYPT | default "0" | toBool }}
ssl_certificate /etc/letsencrypt/live/{{ .Env.LETSENCRYPT_DOMAIN }}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{{ .Env.LETSENCRYPT_DOMAIN }}/privkey.pem;
{{ else }}
ssl_certificate /config/keys/cert.crt;
ssl_certificate_key /config/keys/cert.key;
{{ end }}
danielarbo commented 4 years ago

Same problem here. I tried everything but with self signed cert can't start recording. I think one option is use a FQDN and valid certificate in jitsi-web.

image

primoitt83 commented 4 years ago

Hi!

Check your jitsi-web logs.

This is mine:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 638, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 398, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fc86a403ba8>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))

During handling of the above exception, another exception occurred:

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fc86a403ba8>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))
Please see the logfiles in /var/log/letsencrypt for more details.
Failed to obtain a certificate from the Let's Encrypt CA.
Exiting.

For testing purpose cant be a let's encrypt CA I guess.

"looks like your “server” can’t talk with Letsencrypt. What’s your domain name? You need a public visible and unique domain name to get a certificate."

primoitt83 commented 4 years ago

Hi there!

I've tried this self signed CA and still not working

https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-nginx-on-centos-7

Here my jibri's log

2020-03-27 20:37:15.794 SEVERE: [48] 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=80.0.3987.149)
  (Driver info: chromedriver=80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}),platform=Linux 3.10.0-1062.18.1.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
saghul commented 4 years ago

No. Chrome will connect to the web server, using https://meet.jitsi as the URL. So the self-signed cert should at least match that, I think.

danielarbo commented 4 years ago

Correct. I think we need to provide a FQDN base url that match with trusted certificate on a new env constant.

JBleher commented 4 years ago

I've added a self signed CA, with the FQDN https://meet.jitsi. It is still not working. Am I doing something wrong? Same error message...

saghul commented 4 years ago

No, you're not doing anything wrong. I think it has to do with the new(er) Chrome versions being more spartan.

Maybe it's high time we fix this properly in Jibri.

JBleher commented 4 years ago

Can I be of any help? How would you go about fixing it?

saghul commented 4 years ago

Jibri will need a new config option with the URL of the servicce to join. Rightt now it "guesses" it by using the XMPP connection information, but that doesn't work for the Docker setup, since we usse a FQDN that doesn't really exist.

Alternatively, a way to bypass the spartan checks, since we know we are connecting on a private network.

JXGA commented 4 years ago

I'm having this issue too. Similar logs. Fresh install on Docker.

tobimori commented 4 years ago

Fixed this by replacing every meet.jitsi with my real FQDN with Let's Encrypt.

peterauyeung commented 4 years ago

I changed meet.jitsi to my domainname and still doesn't work. Do you mean FQDN of your site or domain or your site? Thanks

litvinovg commented 4 years ago

Hi everyone. A temporary hack for people who using proxy to internal nginx and because of that can't use letsencrypt to get valid certs:

  1. In .env replace all meet.jitsi with a domain you have cert for.
  2. Run compose with removed .jitsi-meet-cfg to recreate certs.
  3. Replace cert and key ~/.jitsi-meet-cfg/web/keys/ with fullchain.crt and private.key (cert.cfg cert.key)
  4. Set immutable flag on that files (chattr +i) to prevent these files from being replaced with self signed certs on restart.
  5. Restart web container or all if you wish.

That works for me. Hope that would be fixed soon.

misaelabanto commented 4 years ago
  1. In .env replace all meet.jitsi with a domain you have cert for.

In case of XMPP_RECORDER_DOMAIN=recorder.meet.jitsi it would be XMPP_RECORDER_DOMAIN=recorder.meet.mydomain.com?

Or would be XMPP_RECORDER_DOMAIN=meet.mydomain.com ?

litvinovg commented 4 years ago
  1. In .env replace all meet.jitsi with a domain you have cert for.

In case of XMPP_RECORDER_DOMAIN=recorder.meet.jitsi it would be XMPP_RECORDER_DOMAIN=recorder.meet.mydomain.com?

Or would be XMPP_RECORDER_DOMAIN=meet.mydomain.com ?

It would be recorder.mydomain.com In other words /meet.jitsi/mydomain.com/g In vim :%s/meet.jitsi/mydomain.com/g

danielarbo commented 4 years ago

Fixed this by replacing every meet.jitsi with my real FQDN with Let's Encrypt.

This only works if you're not using nginx reverse proxy. If you're using reverse proxy you need to configure docker networks to reach this server, set properly FQDN in container /etc/hosts and probably some other configs.

EDIT: If you're not using reverse proxy you can use your own trusted certificated, it's not mandatory to use Letsencrypt and it's working too.

saghul commented 4 years ago

I think lowering the Chrome version may help here. If someone can test by changing https://github.com/jitsi/docker-jitsi-meet/blob/master/jibri/Dockerfile#L4 it would be ideal. I know this worked before...

This is a stopgap measure, of course.

primoitt83 commented 4 years ago

I tried this some days ago.

The results are same not working

Google Chrome 71.0.3578.80

wget https://www.slimjet.com/chrome/download-chrome.php?file=files%2F71.0.3578.80%2Fgoogle-chrome-stable_current_amd64.deb
wget -N http://chromedriver.storage.googleapis.com/71.0.3578.137/chromedriver_linux64.zip -P ~/
unzip ~/chromedriver_linux64.zip -d ~/
cp ~/chromedriver /usr/local/bin/
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod 0755 /usr/local/bin/chromedriver
2020-03-06 10:47:39.971 INFORMAÇÕES: [52] browser.leaveCallAndQuitBrowser() [2020-03-06T10:47:39-0300] [INFO] [3c55eab9ba0b059db4d81687fe5a8d63] RESPONSE ExecuteScript ERROR move target out of bounds: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
  (Session info: chrome=71.0.3578.80)
schnuffle commented 4 years ago

I have the same error Using docker-jitsi-meet on public server behind nginx.

nyok92 commented 4 years ago

Hello, i hope you're all well. I think i've got the same problem on jibri connection:

My setup is on server, docker swarm. Everything's working appart from jibri's recoding and youtube's streaming

Here's the jibbri's logs:

` Actions

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.

[s6-init] ensuring user provided files have correct perms...exited 0.

[fix-attrs.d] applying ownership & permissions fixes...

[fix-attrs.d] done.

[cont-init.d] executing container initialization scripts...

[cont-init.d] 01-set-timezone: executing...

[cont-init.d] 01-set-timezone: exited 0.

[cont-init.d] 10-config: executing...

stat: cannot stat '/dev/snd/pcmC0D0p': No such file or directory

Usage: usermod [options] LOGIN

Options:

-c, --comment COMMENT new value of the GECOS field

-d, --home HOME_DIR new home directory for the user account

-e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE

-f, --inactive INACTIVE set password inactive after expiration

                            to INACTIVE

-g, --gid GROUP force use GROUP as new primary group

-G, --groups GROUPS new list of supplementary GROUPS

-a, --append append the user to the supplemental GROUPS

                            mentioned by the -G option without removing

                            him/her from other groups

-h, --help display this help message and exit

-l, --login NEW_LOGIN new value of the login name

-L, --lock lock the user account

-m, --move-home move contents of the home directory to the

                            new location (use only with -d)

-o, --non-unique allow using duplicate (non-unique) UID

-p, --password PASSWORD use encrypted password for the new password

-R, --root CHROOT_DIR directory to chroot into

-s, --shell SHELL new login shell for the user account

-u, --uid UID new UID for the user account

-U, --unlock unlock the user account

-v, --add-subuids FIRST-LAST add range of subordinate uids

-V, --del-subuids FIRST-LAST remove range of subordinate uids

-w, --add-subgids FIRST-LAST add range of subordinate gids

-W, --del-subgids FIRST-LAST remove range of subordinate gids

-Z, --selinux-user SEUSER new SELinux user mapping for the user account

chmod: changing permissions of '/config/finalize.sh': Read-only file system

[cont-init.d] 10-config: exited 0.

[cont-init.d] done.

[services.d] starting services

icewm-session: using /root/.icewm for private configuration files

_XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.

X.Org X Server 1.19.2

Release Date: 2017-03-02

X Protocol Version 11, Revision 0

Build Operating System: Linux 4.9.0-8-amd64 x86_64 Debian

Current Operating System: Linux 94e4afc986cc 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64

Kernel command line: BOOT_IMAGE=/vmlinuz-4.15.0-91-generic root=/dev/mapper/VolGroup00-system_root ro net.ifnames=0 biosdevname=0

Build Date: 03 November 2018 03:09:11AM

xorg-server 2:1.19.2-1+deb9u5 (https://www.debian.org/support)

Current version of pixman: 0.34.0

Before reporting problems, check http://wiki.x.org

to make sure that you have the latest version.

Markers: (--) probed, (**) from config file, (==) default setting,

(++) from command line, (!!) notice, (II) informational,

(WW) warning, (EE) error, (NI) not implemented, (??) unknown.

(++) Log file: "/tmp/xorg.log", Time: Thu Apr 2 02:47:03 2020

(++) Using config file: "/etc/jitsi/jibri/xorg-video-dummy.conf"

(==) Using system config directory "/usr/share/X11/xorg.conf.d"

[services.d] done.

2020-04-02 02:47:03.391 INFO: [1] org.jitsi.jibri.Main.main() Jibri run with args [--config, /etc/jitsi/jibri/config.json]

2020-04-02 02:47:03.393 INFO: [1] org.jitsi.jibri.Main.main() Using config file /etc/jitsi/jibri/config.json

2020-04-02 02:47:03.393 INFO: [1] org.jitsi.jibri.Main.main() Using port 3333 for internal HTTP API

2020-04-02 02:47:03.393 INFO: [1] org.jitsi.jibri.Main.main() Using port 2222 for the HTTP API

icewmbg: using /root/.icewm for private configuration files

IceWM: using /root/.icewm for private configuration files

2020-04-02 02:47:03.888 INFO: [1] org.jitsi.jibri.Main.loadConfig() Parsed config:

JibriConfig(recordingDirectory=/config/recordings, singleUseMode=false, enabledStatsD=true, finalizeRecordingScriptPath=/config/finalize.sh, xmppEnvironments=[XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[xmpp.meet.benelos.eu], xmppDomain=meet.benelos.eu, controlLogin=XmppCredentials(domain=auth.meet.benelos.eu, username=jibri, password=passw0rd), controlMuc=XmppMuc(domain=internal-muc.meet.benelos.eu, roomName=jibribrewery, nickname=jibri-instanse-189708994), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.meet.benelos.eu, username=recorder, password=passw0rd), stripFromRoomDomain=muc., usageTimeoutMins=0, trustAllXmppCerts=true)])

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

SLF4J: Defaulting to no-operation (NOP) logger implementation

SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

2020-04-02 02:47:04.307 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime() A provider org.jitsi.jibri.api.http.internal.InternalHttpApi registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.jibri.api.http.internal.InternalHttpApi will be ignored.

icewmtray: using /root/.icewm for private configuration files

2020-04-02 02:47:04.500 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.updatePresence() Jibri reports its status is now JibriStatus(busyStatus=IDLE, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections

2020-04-02 02:47:04.502 INFO: [1] org.jitsi.xmpp.mucclient.MucClientManager.log() Setting a presence extension: org.jitsi.xmpp.extensions.jibri.JibriStatusPacketExt@5aa6202e

2020-04-02 02:47:04.506 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() Connecting to xmpp environment on xmpp.meet.benelos.eu with config XmppEnvironmentConfig(name=prod environment, xmppServerHosts=[xmpp.meet.benelos.eu], xmppDomain=meet.benelos.eu, controlLogin=XmppCredentials(domain=auth.meet.benelos.eu, username=jibri, password=passw0rd), controlMuc=XmppMuc(domain=internal-muc.meet.benelos.eu, roomName=jibribrewery, nickname=jibri-instanse-189708994), sipControlMuc=null, callLogin=XmppCredentials(domain=recorder.meet.benelos.eu, username=recorder, password=passw0rd), stripFromRoomDomain=muc., usageTimeoutMins=0, trustAllXmppCerts=true)

2020-04-02 02:47:04.507 INFO: [1] org.jitsi.jibri.api.xmpp.XmppApi.start() The trustAllXmppCerts config is enabled for this domain, all XMPP server provided certificates will be accepted

2020-04-02 02:47:04.514 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() Initializing a new MucClient for [ org.jitsi.xmpp.mucclient.MucClientConfiguration id=xmpp.meet.benelos.eu domain=auth.meet.benelos.eu hostname=xmpp.meet.benelos.eu username=jibri mucs=[jibribrewery@internal-muc.meet.benelos.eu] mucNickname=jibri-instanse-189708994 disableCertificateVerification=true]

2020-04-02 02:47:04.519 WARNING: [21] org.jitsi.xmpp.mucclient.MucClient.log() Disabling certificate verification!

2020-04-02 02:47:04.540 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.benelos.eu hostname=xmpp.meet.benelos.eu] about to connect and login.

2020-04-02 02:47:04.549 WARNING: [1] org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime() A provider org.jitsi.jibri.api.http.HttpApi registered in SERVER runtime does not implement any provider interfaces applicable in the SERVER runtime. Due to constraint configuration problems the provider org.jitsi.jibri.api.http.HttpApi will be ignored.

2020-04-02 02:47:04.706 INFO: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.benelos.eu hostname=xmpp.meet.benelos.eu] connected

2020-04-02 02:47:04.761 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.benelos.eu hostname=xmpp.meet.benelos.eu] authenticated, b=false

2020-04-02 02:47:04.762 FINE: [21] org.jitsi.xmpp.mucclient.MucClient.log() [MucClient id=xmpp.meet.benelos.eu hostname=xmpp.meet.benelos.eu] about to join MUCs.

2020-04-02 02:47:04.786 INFO: [21] org.jitsi.xmpp.mucclient.MucClient.log() Joined MUC: jibribrewery@internal-muc.meet.benelos.eu

2020-04-02 02:47:04.791 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-04-02 02:47:04.791 FINE: [32] org.jitsi.xmpp.extensions.DefaultPacketExtensionProvider.parse() Could not add a provider for element health-status from namespace http://jitsi.org/protocol/health

2020-04-02 02:52:47.670 FINE: [47] org.jitsi.xmpp.mucclient.MucClient.log() Received an IQ with type set: IQ Stanza (jibri http://jitsi.org/protocol/jibri) [to=jibri@auth.meet.benelos.eu/_HnukJae,from=jibribrewery@internal-muc.meet.benelos.eu/focus,id=amlicmlAYXV0aC5tZWV0LmJlbmVsb3MuZXUvX0hudWtKYWUATWJBU0otNDAxAIKKoc/28ln4HQH2bjyukZs=,type=set,]

2020-04-02 02:52:47.674 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq from environment [MucClient id=xmpp.meet.benelos.eu hostname=xmpp.meet.benelos.eu]

2020-04-02 02:52:47.675 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Received start request

2020-04-02 02:52:47.677 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending 'pending' response to start IQ

2020-04-02 02:52:47.677 INFO: [48] org.jitsi.jibri.api.xmpp.XmppApi.run() Starting service

2020-04-02 02:52:47.705 INFO: [48] org.jitsi.jibri.api.xmpp.XmppApi.handleStartService() Parsed call url info: CallUrlInfo(baseUrl=https://meet.benelos.eu, callName=test, urlParams=[])

2020-04-02 02:52:47.705 INFO: [48] org.jitsi.jibri.JibriManager.startFileRecording() Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://meet.benelos.eu, callName=test, urlParams=[])), sessionId=bkibmhxqdfuvuank, callLoginParams=XmppCredentials(domain=recorder.meet.benelos.eu, username=recorder, password=passw0rd)) finalize script path: /config/finalize.sh and recordings directory: /config/recordings

Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 20190

Only local connections are allowed.

Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.

2020-04-02 02:52:48.212 SEVERE: [48] org.jitsi.jibri.api.xmpp.XmppApi.run() Error starting Jibri service : org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed.

(unknown error: DevToolsActivePort file doesn't exist)

(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

(Driver info: chromedriver=80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}),platform=Linux 4.15.0-91-generic x86_64) (WARNING: The server did not provide any stacktrace information)

Command duration or timeout: 229 milliseconds

Build info: version: 'unknown', revision: 'unknown', time: 'unknown'

System info: host: '94e4afc986cc', ip: '10.0.51.10', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-91-generic', java.version: '1.8.0_242'

Driver info: driver.version: ChromeDriver with stack:

sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

java.lang.reflect.Constructor.newInstance(Constructor.java:423)

org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)

org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)

org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)

org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)

org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)

java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)

java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)

java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)

java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)

java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)

java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)

java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)

java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)

org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)

org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)

org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)

org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)

org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)

org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)

org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:130)

org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:181)

org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:168)

org.jitsi.jibri.selenium.JibriSelenium.(JibriSelenium.kt:156)

org.jitsi.jibri.selenium.JibriSelenium.(JibriSelenium.kt:113)

org.jitsi.jibri.service.impl.FileRecordingJibriService.(FileRecordingJibriService.kt:105)

org.jitsi.jibri.JibriManager.startFileRecording(JibriManager.kt:134)

org.jitsi.jibri.api.xmpp.XmppApi.handleStartService(XmppApi.kt:285)

org.jitsi.jibri.api.xmpp.XmppApi.access$handleStartService(XmppApi.kt:67)

org.jitsi.jibri.api.xmpp.XmppApi$handleStartJibriIq$1.run(XmppApi.kt:195)

java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

java.util.concurrent.FutureTask.run(FutureTask.java:266)

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

java.lang.Thread.run(Thread.java:748)

2020-04-02 02:52:48.216 FINE: [47] org.jitsi.xmpp.mucclient.MucClient.log() Received an IQ with type set: IQ Stanza (jibri http://jitsi.org/protocol/jibri) [to=jibri@auth.meet.benelos.eu/_HnukJae,from=jibribrewery@internal-muc.meet.benelos.eu/focus,id=amlicmlAYXV0aC5tZWV0LmJlbmVsb3MuZXUvX0hudWtKYWUATWJBU0otNDA1AIKKoc/28ln4HQH2bjyukZs=,type=set,]

2020-04-02 02:52:48.217 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleJibriIq() Received JibriIq from environment [MucClient id=xmpp.meet.benelos.eu hostname=xmpp.meet.benelos.eu]

2020-04-02 02:52:48.217 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Received start request

2020-04-02 02:52:48.217 INFO: [47] org.jitsi.jibri.api.xmpp.XmppApi.handleStartJibriIq() Sending 'pending' response to start IQ

2020-04-02 02:52:48.217 INFO: [48] org.jitsi.jibri.api.xmpp.XmppApi.run() Starting service

2020-04-02 02:52:48.234 INFO: [48] org.jitsi.jibri.api.xmpp.XmppApi.handleStartService() Parsed call url info: CallUrlInfo(baseUrl=https://meet.benelos.eu, callName=test, urlParams=[])

2020-04-02 02:52:48.234 INFO: [48] org.jitsi.jibri.JibriManager.startFileRecording() Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://meet.benelos.eu, callName=test, urlParams=[])), sessionId=bkibmhxqdfuvuank, callLoginParams=XmppCredentials(domain=recorder.meet.benelos.eu, username=recorder, password=passw0rd)) finalize script path: /config/finalize.sh and recordings directory: /config/recordings

Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 2432

Only local connections are allowed.

Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.

2020-04-02 02:52:48.410 SEVERE: [48] org.jitsi.jibri.api.xmpp.XmppApi.run() Error starting Jibri service : org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed.

(unknown error: DevToolsActivePort file doesn't exist)

(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)

(Driver info: chromedriver=80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}),platform=Linux 4.15.0-91-generic x86_64) (WARNING: The server did not provide any stacktrace information)

Command duration or timeout: 155 milliseconds

Build info: version: 'unknown', revision: 'unknown', time: 'unknown'

System info: host: '94e4afc986cc', ip: '10.0.51.10', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-91-generic', java.version: '1.8.0_242'

Driver info: driver.version: ChromeDriver with stack:

sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

java.lang.reflect.Constructor.newInstance(Constructor.java:423)

org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)

org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)

org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)

org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)

org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:123)

java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)

java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)

java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)

java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)

java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)

java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)

java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)

java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)

java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)

org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:126)

org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)

org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)

org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)

org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)

org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)

org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:130)

org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:181)

org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:168)

org.jitsi.jibri.selenium.JibriSelenium.(JibriSelenium.kt:156)

org.jitsi.jibri.selenium.JibriSelenium.(JibriSelenium.kt:113)

org.jitsi.jibri.service.impl.FileRecordingJibriService.(FileRecordingJibriService.kt:105)

org.jitsi.jibri.JibriManager.startFileRecording(JibriManager.kt:134)

org.jitsi.jibri.api.xmpp.XmppApi.handleStartService(XmppApi.kt:285)

org.jitsi.jibri.api.xmpp.XmppApi.access$handleStartService(XmppApi.kt:67)

org.jitsi.jibri.api.xmpp.XmppApi$handleStartJibriIq$1.run(XmppApi.kt:195)

java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

java.util.concurrent.FutureTask.run(FutureTask.java:266)

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

java.lang.Thread.run(Thread.java:748)`

and here the xorgerror log:

[228562.932] (EE) dbus-core: error connecting to system bus: org.freedesktop.DBus.Error.FileNotFound (Failed to connect to socket /var/run/dbus/system_bus_socket: No such file o$

Here is my docker-compose part for jibri:

` jibri: image: jitsi/jibri configs:

thank you for any advide, help. Nicolas

nyok92 commented 4 years ago

I forgot to say that I use traefik reverse proxy :)

morphles commented 4 years ago

Just to add, I'm also having same issue on docker-jitsi-meet. Was thinking maybe It would be possible to do some franken thing, with docker web, jicofo etc, but jibri installed out of docker? I just kinda need to get it to work asap :) Also, since I needed prosody plugin to change "all non guests are moderators" and from error it seems this local storage thing seems to be related to display name setting (well maybe more things, haven't looked at it), maybe it would be possible to use prosody plugin for such things as display name setting?

morphles commented 4 years ago

So looking at jibri and jitsi-meet-source, not using local storage seems to not be an option at this point without possibly significant rework. And I guess it would still not work due to other problems caused by cert issues.

sualko commented 4 years ago

I think it's no certificate issue in the first place, because I get connection refused from the jibri container if I try to access jitsi.meet via https (`curl -v https://jitsi.meet). Unencrypted works like expected. After looking at the config, I saw that if you disable https, https gets disabled completely :see_no_evil:, but after enabling I can still not access the container via port 443. Even from the outside I get "Connection reset by peer". My guess is that the nginx config breaks without letsencrypt.