Jitsi with docker jwilder/nginx-proxy

Docker noob here. I have a docker host server using jwilder/nginx-proxy for reverse proxying with jrcs/letsencrypt-nginx-proxy-companion for ssl. There are other containers on the host so I want a single nginx reverse host for domains. Now I am trying to install a jitsa instance.

I am struggling to get docker-compose to play with the nginx-proxy container. I joined the networks

docker network connect dockerjitsimeet_meet.jitsi nginx-proxy

and then spun jitsi/web up using

docker run --detach --name jitsi \
  --net dockerjitsimeet_meet.jitsi \
  --env "VIRTUAL_HOST=catcam.com" \
  --env "VIRTUAL_PORT=80" \
  --env "LETSENCRYPT_HOST=catcam.com" \
  --env "LETSENCRYPT_EMAIL=mrcats@gmeow.com" \
  --env "XMPP_BOSH_URL_BASE=http://xmpp.meet.jitsi:5280" \
  --env "XMPP_DOMAIN=meet.jitsi" \

and removed jitsi/web from docker-compose.yml before running docker-compose up -d.

Everything looks good but now I’m getting js errors in when trying to join a channel.

[modules/xmpp/moderator.js] <d.createConferenceIq>:  Session ID: null machine UID: 15e3c2dd71d3042990f6e7e9c001a642
Logger.js:125 [JitsiMeetJS.js] <Object.getGlobalOnErrorHandler>:  UnhandledError: null Script: null Line: null Column: null StackTrace:  Error: Focus error, retry after 2000
    at d._allocateConferenceFocusError (moderator.js:451)
    at moderator.js:378
    at r.Handler.handler (strophe.js:3388)
    at r.Handler.run (strophe.js:2556)
    at strophe.js:3822
    at Object.forEachChild (strophe.js:1522)
    at r.Connection._dataRecv (strophe.js:3810)
    at e.Bosh._onRequestStateChange (strophe.js:5563)

I’m sure I’ve over complicated this and missing something simple here. Is there a simple way to continue using jwilder/nginx-proxy & jrcs/letsencrypt-nginx-proxy-companion with jitsi? Any help or direction would be appreciated. This is a great tool in lockdown!


I’m struggling with the same problem (jitsi /w wilder/nginx-proxy & jrcs/letsencrypt-nginx-proxy-companion).

For the networking stuff, I use
networks: meet.jitsi: external: name: <name-of-the-preexisting-network>
in the docker-compose.yml of jitsi. So, when I set the VIRTUAL_HOST also in this file, nginx finds it correctly. However, the resulting config is not right, I always get 500 Internal Server Error.

I’m not an expert, but look at my working config (there is a README):

Hints for improvements are welcome.

1 Like

really neat! Thank you. You could probably add the ./gen-passwords.sh script so that you can run the containers with these easy steps (they won’t start up with the default env passwds)