blindsidenetworks / scalelite

Scalable load balancer for BigBlueButton.
GNU Affero General Public License v3.0
470 stars 247 forks source link

Questtion: Install scalelite on TURN-Server #576

Closed Marco-Total closed 3 years ago

Marco-Total commented 3 years ago

Hi,

I have a question for the installation of scalelite. What du you think, is it possible to install scalelite on the installed turn-server (coturn)? We have 2 BBB-Servers and 1 Turn-Server in use and won't install extra hardware for scalelite.

What do I have to pay attention to during installation?

Thx, Rudi

PhMemmel commented 3 years ago

It's possible, but not very easy.

Coturn is recommended to be run on port 443 to be able to pass most of the firewalls. Scalelite has to listen on port 443 as well. So you would need to configure a reverse proxy nginx or haproxy to route the traffic to coturn/scalelite depending on the type of traffic incoming which is possible but not completely easy and might not be officially supported :-)

Marco-Total commented 3 years ago

my coturn is already listening on a fixed ip address. I would assign another public IP address to the interface and let the scatelite listen to the second IP address, is that possible?

root@xxxturn1:/home/thillm# netstat -an | grep 443 tcp 0 0 100.0.0.1:443 0.0.0.0:* LISTEN

cat /etc/turnserver.conf: ... listening-ip=100.0.0.1 ...

fireba11 commented 3 years ago

of course you can bind coturn on one IP and scalelite on another ...

Marco-Total commented 2 years ago

of course you can bind coturn on one IP and scalelite on another ...

How can I bind scalelite on another ip? My /etc/default/scalelite looks like

SCALELITE_NGINX_EXTRA_OPTS="--mount type=bind,source=/etc/nginx/ssl,target=/etc/nginx/ssl,readonly"

fireba11 commented 2 years ago

edit the compose file

Marco-Total commented 2 years ago

Hi,

i startet scalelite-nginx with systemd: ExecStart=/usr/bin/docker run --log-opt max-size=10m --log-opt max-file=5 --name scalelite-nginx --env-file /etc/default/scalelite --network scalelite --publish 80:80 --publish 443:443 --mount type=bind,source=${SCALELITE_RECORDING_DIR}/published,target=/var/bigbluebutton/published,readonly $SCALELITE_NGINX_EXTRA_OPTS blindsidenetwks/scalelite:${SCALELITE_TAG}-nginx ExecStartPost=/usr/bin/docker image prune -f

I think, i must edit the env-file: /etc/default/scalelite ?

But i can't find the right option...

fireba11 commented 2 years ago

why would you even ... ? it makes no sense to run container via systemd you --publish tells it to bind to all IPs

Marco-Total commented 2 years ago

Thank you, fireba11!

i insert the ip in this way and now it works!

ExecStart=/usr/bin/docker run --log-opt max-size=10m --log-opt max-file=5 --name scalelite-nginx --env-file /etc/default/scalelite --network scalelite --publish **100.1.1.2:**80:80 --publish `100.1.1.2:`443:443 --mount type=bind,source=${SCALELITE_RECORDING_DIR}/published,target=/var/bigbluebutton/published,readonly $SCALELITE_NGINX_EXTRA_OPTS blindsidenetwks/scalelite:${SCALELITE_TAG}-nginx
ExecStartPost=/usr/bin/docker image prune -f