Use TURN Server With Docker Version Of Jitsi

I’m trying to configure the Docker version of Jitsi to use a TURN server but I can’t find some of the settings mentioned in this guide:

I see somebody already asked about a year ago and there was no answer. Is this not currently possible?

1 Like

We haven’t documented it, alas, but all you need to do is fill in this env vars: docker-jitsi-meet/docker-compose.yml at ae3e7e765126c8c46b3aeb229b9ce1bcfd2a048e · jitsi/docker-jitsi-meet · GitHub

2 Likes

You are my hero! Thank you!

In the TURN guide, after the part about multiplexing it says to change the virtual host to port 4444, in Docker is that the equivalent of setting these?


# Exposed HTTP port
HTTP_PORT=80

# Exposed HTTPS port
HTTPS_PORT=443

No, those are the HTTP(S) ports used in the container itself.

I kept having issues with the jitsi meet every time I tried to remap the web ports (to free up port 443 for nginx), turns out it was SELinux blocking nginx (we use Centos)

In case anybody else has the same:

Now the guide works for me!

I finally completed the setup. Docker jitsi and docker coturn server on the same machine!

In case anybody needs this, the .env settings must be

# TURN_CREDENTIALS=secret
# TURN_HOST=turnserver.example.com
# TURN_PORT=443
# TURNS_HOST=turnserver.example.com
# TURNS_PORT=443

Hi @patrick.buechi

I entered those 5 lines you pated with secret being some random string and
TURN_HOSH being the same as TURNS_HOST in my case this would be: turn-jitsi-meet.$DOMAIN

Did you do anything else after filling those lines?
Did you provide letsencrypt also for TURN_HOST/TURNS_HOST ? If so how? Since docker allows only one domain with letsencrypt

Thank you!

You can map a local dir to one in docker. If you look here where they do the -v stuff under “Configuration” to get their configs into docker:
https://hub.docker.com/r/coturn/coturn

I did that with our cert that we already use for Nginx:
-v /etc/nginx/ssl:/etc/ssl
and then added it to the config file:
cert=/etc/ssl/ourdomain.crt
pkey=/etc/ssl/ourdomain.key

So the -v maps real dir /etc/nginx/ssl to Docker instance /etc/ssl

I’m still learning Docker but that seems to work

What if no TURN server is configured? The latest Jitsi dropped support for RTP over port 4443. Does this affect performance? I hope it’s easy to enable TURN, because I don’t have much time this month to spend on this.

Then the participants who cannot access JVB’s or the other peer’s UDP port directly, cannot get/send media.

I hope it will be as easy as this. Although I don’t know what to put in these vars, but I guess I’ve to read more about it :nerd_face:

Could you share the config you have used for your coturn docker please?

1 Like

And media are video, sound and text I guess?

And I suppose the page below should allow me to setup coTURN. One thing I’m missing are the credentials, I don’t see that in those command option examples. Any help/pointers would be appreciated.

@patrick.buechi
Can you please share your docker-compose.yml, I’m having a hard time adding the coturn to the jitsi docker compose.yml. I’m new to docker.

My goal is to only use 80/443 TCP for jitsi.

Any help will be greatly appreciated.

That won’t be possible with the Docker setup.

Is it possible at all?

If you have a second FQDN for TURNS, you can do it on a non-dockerized setup using an Nginx module like the following:

Hi @emrah, if I have a HaProxy in front (to support multi shards), so HaProxy will route based on ACL, and TURN traffic can directly go to coturn. Do you have any HaProxy config example?

I don’t have a config handy, but you need to use “SNI” to route packets to the TURN server.