Websocket error jitsi on Docker

I have installed the Docker version of jitsi meet from the package docker-jitsi-meet-stable-6826.zip on my server running Ubuntu 18.04.
When I try to connect, I get disconnected immediately and my Chrome browser shows a websocket error:
strophe.umd.js:5463 WebSocket connection to ‘wss://myIP.net/xmpp-websocket?room=closedgovernorsloseaside’ failed: Error during WebSocket handshake: Unexpected response code: 404
_connect @ strophe.umd.js:5463
connect @ strophe.umd.js:2368
… where myIP.net is the IP address of my server.

My .env file is: (passwords obfuscated) and myIP.net is my external server IP address (fake, not my actual IP)

shellcheck disable=SC2034


Set these to strong passwords to avoid intruders from impersonating a service account

The service(s) won’t start unless these are specified

Running ./gen-passwords.sh will update .env with strong passwords

You may skip the Jigasi and Jibri passwords if you are not using those

DO NOT reuse passwords

XMPP password for Jicofo client connections


XMPP password for JVB client connections


XMPP password for Jigasi MUC client connections


XMPP recorder password for Jibri client connections


XMPP password for Jibri client connections


disable websockets → uncomment




end disable websockets

Basic configuration options

Directory where all configuration will be stored



Exposed HTTP port


Exposed HTTPS port


System time zone


Public URL for the web service (required)


IP address of the Docker host

See the “Running behind NAT or on a LAN environment” section in the Handbook:

Self-Hosting Guide - Docker · Jitsi Meet Handbook


Control whether the lobby feature should be enabled or not


Control whether the A/V moderation should be enabled or not


Show a prejoin page before entering a conference


Enable the welcome page


Enable the close page


Disable measuring of audio levels


Enable noisy mic detection


Enable breakout rooms


Let’s Encrypt configuration

Enable Let’s Encrypt certificate generation


Domain for which to generate the certificate


E-Mail for receiving important account notifications (mandatory)


Use the staging server (for avoiding rate limits while testing)


Etherpad integration (for document sharing)

Set etherpad-lite URL in docker local network (uncomment to enable)


Set etherpad-lite public URL, including /p/ pad path fragment (uncomment to enable)


Name your etherpad instance!


The default text of a pad

ETHERPAD_DEFAULT_PAD_TEXT=“Welcome to Web Chat!\n\n”

Name of the skin for etherpad


Skin variants for etherpad

ETHERPAD_SKIN_VARIANTS=“super-light-toolbar super-light-editor light-background full-width-editor”

Basic Jigasi configuration options (needed for SIP gateway support)

I’ve seen many instances of a similar issue but
I have not been able to figure this out and have googled extensively. Any help would be greatly appreciated.
Thanks in advance!

You need a valid TLS certificate for things to work properly, which you can’t use with an IP, you need a valid domain name.

Hi saghul,
Thanks for your prompt response!
I do have certs which are apparently working. This is a Docker container install and was installed as recommended in the Jitsi docs. It appears that my browser is showing a good cert when I address Jitsi in the Chrome and FireFox browser. I was able to get jitsi somewhat working by disabling websockets with the three commands in the .env file:

disable websockets → uncomment


end disable websockets

I’m still having problems connecting audio and video to Jitsi from outside my LAN but it appears to work inside my LAN.
Thanks again,

I think I’ve solved the video and audio connection problem. Still have the websockets problem with the ENABLE_XMPP_WEBSOCKET=1 setting. Thanks

Can you check the network tab in the browser console and see if the URL where the WS connection is attempted is correct?

Hi Saghul,I’m an amateur and not sure what you meant, this is my interpretation of the WS connection in the Network tab of the browser inspect menu.
My Jitsi site is at microcraftx.ddns.net:4430 i.e. the port is set to 4430 via the .env configuration to avoid conflict with my webpages at port 443. Jitsi is running in the Docker box. I believe that my host is microcraftx.ddns.net. Of course, I’m getting WS 404 errors still as below from the console.
I am using dynamic dns to resolve microcraftx.ddns.net to a public IP and this test is being run on microcraftx.ddns.net server.
Thanks again for your help,

What did you set as PUBLIC_URL? I think we don’t support running on non-standard ports very well TBH.

Hi Saghul,
Thanks. From my .env file:

If I have websockets enabled (I think the default) and set the ports in my .env file to:

Exposed HTTP port


Exposed HTTPS port


I get the websocket errors I mentioned previously.
If I turn off Apache2 (running on ports 443 and 80) and set the ports in my .env file to with websockets enabled (I think this is the default):

Exposed HTTP port


Exposed HTTPS port


I get no websocket error and I can start a meeting.
If I use nonstandard ports e.g. 800 and 4430, AND disable websockets:
from .env file:

disable websockets → uncomment


end disable websockets

Then I get websocket 404 errors as described in our past emails.
Note that I considered websockets enabled when the above were commented out as (websockets enabled):

disable websockets → uncomment


end disable websockets

Thanks so much for helping me resolve this!
However, if I may ask, is there any advantage to enabling websockets? Please pardon my ignorance!
Any ideas how I could run ports 4430 and 800 with websockets or would it be best to just stick with standard ports and modify my Apache services - or stop Apache while while running Jitsi meetings?
Thanks again!

Hi Saghul,
I had a friend in the Linux Users’ Group explain websockets to me. Apparently, websockets allows for direct connection of audio and video streaming.
Running the websockets with the standard ports, it appears that Jitsi ran great with five user. Some stuttering and video dropouts but most likely due to network bandwidth limitations.
I am VERY happy to have installed Jitsi! Great work on the part of Jitsi developers!

1 Like

Hi Saghul,
If I may, since I can get Jitsi-meet to work on a nonstandard port if I disable websockets, is there any compelling reason to use websockets? It appeared to work without websockets but I’m wondering if there would be a significant performance hit without websockets? I have plenty of CPU power and RAM here so I’m not concerned so much about CPU server loading, but CPU loading of others in the meeting and also bandwidth efficiency could potentially lead to significant drops in Jitsi performance without websockets? I can benchmark this at some point but wondering if you had an obvious answer?

WebSockets are more performant than the alternative (BOSH). This is specially relevant for large meetings.

Thanks for the information!