Trouble with Greenlight install/setup.

4,932 views
Skip to first unread message

Sean Crites

unread,
Dec 30, 2017, 3:44:18 PM12/30/17
to BigBlueButton-Setup
BigBlueButton is installed along with the 'bbb-demo'; all packages have been installed via aptitude, running Ubuntu 16.04. The BBB demo works perfectly via SSL with webrtc, etc fully functioning. I'd like to take BBB a step further and get Greenlight working and there is now where my issue is.

I've installed Greenlight twice as a Docker via http://docs.bigbluebutton.org/install/green-light.html#installing-greenlight; I'm new to Docker, this is my first time installing Docker-CE and a docker app.

I followed https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/ to install Docker; the 'hello-world' works ok.

I've set the both the SECRET_KEY_BASE and the BIGBLUEBUTTON_SECRET (each time).

In troubleshooting Greenlight and looking at the other threads, here is what has been asked in the past:

bbb:/usr/local/greenlight$ telnet 127.0.0.1 5000
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Connection closed by foreign host.
bbb
:/usr/local/greenlight$
^^^ Connection is immediately closed

bbb:/usr/local/greenlight$ docker run --rm --env-file env bigbluebutton/greenlight rake conf:check


Checking environment: Passed
Checking Connection: Failed
Error connecting to BigBlueButton server - execution expired
bbb
:/usr/local/greenlight$
^^^ In the previous Greenlight install, a lot of error information would show up, not sure why it doesn't this time.

bbb:/usr/local/greenlight$ sudo bbb-conf --check


BigBlueButton Server 1.1.0 (580)
                   
Kernel version: 4.4.0-104-generic
                     
Distribution: Ubuntu 16.04.3 LTS (64-bit)
                           
Memory: 8167 MB


/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
 
Port test (tunnel): bbb.[domain]
                              red5
: bbb.[domain]
              useWebrtcIfAvailable
: true


/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
                    websocket port
: 7443
                   
WebRTC enabled: true


/etc/nginx/sites-available/bigbluebutton (nginx)
                       server name
: bbb.[domain]
                              port
: 80, [::]:80
                              port
: 443 ssl
                    bbb
-client dir: /var/www/bigbluebutton


/var/lib/tomcat7/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties (bbb-web)
                      bbb
-web host: bbb.[domain]


/var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp (API demos)
                               url
: bbb.[domain]


/var/www/bigbluebutton/check/conf/config.xml (client check)
                      client check
: bbb.[domain]


/usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml (red5)
                  voice conference
: FreeSWITCH


/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
                     playback host
: bbb.[domain]




** Potential problems described below **
# Warning: API URL IPs do not match host:
#
#                                IP from ifconfig: 107.152.x.y
#  /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp: bbb.[domain]




# Warning: The API demos are installed and accessible from:
#
#    https://bbb.[domain]/demo/demo1.jsp
#
# These API demos allow anyone to access your server without authentication
# to create/manage meetings and recordings. They are for testing purposes only.
# If you are running a production system, remove them by running:
#
#    sudo apt-get purge bbb-demo


# Warning: The client self check is installed and accessible from:
#
#    https://bbb.[domain]/check
#


bbb
:/usr/local/greenlight$


bbb:/usr/local/greenlight$ docker ps
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS                  NAMES
07f6bfcd8e9a        bigbluebutton/greenlight   "scripts/default_sta…"   25 minutes ago      Up 2 minutes        0.0.0.0:5000->80/tcp   greenlight
bbb
:/usr/local/greenlight$


NGINX's error.log shows when I try to connect to bbb.[domain]/b:

2017/12/29 20:39:10 [error] 18688#18688: *41 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 209.112.x.y, server: bbb.[domain], request: "GET /b HTTP/1.1", upstream: "http://127.0.0.1:5000/b", host: "bbb.[domain]"
2017/12/29 20:39:10 [error] 18688#18688: *41 open() "/var/www/nginx-default/50x.html" failed (2: No such file or directory), client: 209.112.191.33, server: bbb.[domain], request: "GET /b HTTP/1.1", upstream: "http://127.0.0.1:5000/b", host: "bbb.[domain]"


The thing I keep coming back to is that NGINX isn't fowarding the '/b' http/https request to Greenlight and/or Greenlight isn't listening for that connection; it sounds like the issue is between NGINX and Greenlight and/or docker itself.

On the host system 'BBB', I've got a 'docker0' interface:

5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link
/ether 02:42:5d:1a:32:6e brd ff:ff:ff:ff:ff:ff
    inet
172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80
::42:5dff:fe1a:326e/64 scope link
       valid_lft forever preferred_lft forever


bbb:/usr/local/greenlight$ ping 172.17.0.1
PING
172.17.0.1 (172.17.0.1) 56(84) bytes of data.
64 bytes from 172.17.0.1: icmp_seq=1 ttl=64 time=0.173 ms
64 bytes from 172.17.0.1: icmp_seq=2 ttl=64 time=0.069 ms
^C
--- 172.17.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min
/avg/max/mdev = 0.069/0.121/0.173/0.052 ms
scrites@bbb
:/usr/local/greenlight$ ping 172.17.0.3
PING
172.17.0.3 (172.17.0.3) 56(84) bytes of data.
^C
--- 172.17.0.3 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2015ms


bbb
:/usr/local/greenlight$



From within Greenlight:

bbb:/usr/local/greenlight$ sudo docker run --rm -it bigbluebutton/greenlight /bin/bash
root@a035e1a0b4a6
:/usr/src/app# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link
/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet
127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
139: eth0@if140: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link
/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff
    inet
172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
root@a035e1a0b4a6
:/usr/src/app# ping 172.17.0.3
PING
172.17.0.3 (172.17.0.3): 56 data bytes
64 bytes from 172.17.0.3: icmp_seq=0 ttl=64 time=0.146 ms
64 bytes from 172.17.0.3: icmp_seq=1 ttl=64 time=0.112 ms
^C--- 172.17.0.3 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round
-trip min/avg/max/stddev = 0.112/0.129/0.146/0.000 ms
root@a035e1a0b4a6
:/usr/src/app# ping 172.17.0.1
PING
172.17.0.1 (172.17.0.1): 56 data bytes
64 bytes from 172.17.0.1: icmp_seq=0 ttl=64 time=0.216 ms
64 bytes from 172.17.0.1: icmp_seq=1 ttl=64 time=0.126 ms
^C--- 172.17.0.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round
-trip min/avg/max/stddev = 0.126/0.171/0.216/0.045 ms
root@a035e1a0b4a6
:/usr/src/app# ip route
default via 172.17.0.1 dev eth0
172.17.0.0/16 dev eth0  proto kernel  scope link  src 172.17.0.3
root@a035e1a0b4a6
:/usr/src/app#


As instructed, I both added INPUT and OUTPUT chains for docker0 (ACCEPT) and later disabled iptables/ipset altogether and still get presented with the 404 page.

In short, I've run out of ideas of things to troubleshoot and need some guidance.

Thanks.

-Sean

Fred Dixon

unread,
Dec 31, 2017, 10:00:56 AM12/31/17
to bigbluebu...@googlegroups.com
Hi Sean,

First off, thanks for making such a detailed post.  It's much easier for us to help when there is so much information provided.

> Checking environment: Passed
> Checking Connection: Failed
> Error connecting to BigBlueButton server - execution expired

The problem is that GreenLight isn't reaching the BigBlueButton server.  From within GreenLight can you reach the BigBlueButton server with a ping.  If so, try to access the BigBlueButton API, such as

  <response><returncode>SUCCESS</returncode><version>1.1</version></response>

Try the above wget command from within GreenLight (substitute the hostname of your server), and let us know the response.

Regards,... Fred

  



--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsub...@googlegroups.com.
To post to this group, send email to bigbluebutton-setup@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

Sean Crites

unread,
Dec 31, 2017, 12:57:24 PM12/31/17
to BigBlueButton-Setup
Fred, thanks for the reply, especially on a weekend; here is what I got:

bbb:~$ sudo docker run --rm -it bigbluebutton/greenlight /bin/bash
root@e8e910c43a2b:/usr/src/app# 
root@e8e910c43a2b:/usr/src/app# wget -q -O- https://bbb.[domain]/bigbluebutton/api && echo
<response><returncode>SUCCESS</returncode><version>1.1</version></response>
root@e8e910c43a2b:/usr/src/app# 

The response was pretty immediate.

-Sean
To post to this group, send email to bigbluebu...@googlegroups.com.

Fred Dixon

unread,
Dec 31, 2017, 2:20:06 PM12/31/17
to bigbluebu...@googlegroups.com
Hi,

Can you check the contents of env file and make sure you have a '/' at the end. as in


Regards,... Fred


To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsubscribe...@googlegroups.com.
To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsub...@googlegroups.com.
To post to this group, send email to bigbluebutton-setup@googlegroups.com.

Sean Crites

unread,
Dec 31, 2017, 6:04:03 PM12/31/17
to BigBlueButton-Setup
Yes, there is a trailing '/' at the end of the 'ENDPOINT' config line of 'env'.

bbb:/usr/local/greenlight$ pwd
/usr/local/greenlight
bbb:/usr/local/greenlight$ grep ENDPOINT env
BIGBLUEBUTTON_ENDPOINT=https://bbb.[domain]/bigbluebutton/
bbb:/usr/local/greenlight$

////////////////////////////

I keep focusing back on NGINX's 404 response when I browse to '/b':

209.112.x.y - - [31/Dec/2017:13:57:09 -0900] "GET /b HTTP/1.1" 404 209 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36"

I can see that /etc/nginx/sites-enabled/bigbluebutton has an 'include /etc/bigbluebutton/nginx/*.nginx' so it should be reading and including the 'greenlight.nginx' file:

@bbb:/etc/nginx/sites-enabled$ ls -alh /etc/bigbluebutton/nginx/
total
52K
drwxr
-xr-x 2 red5 red5 4.0K Dec 29 14:35 .
drwxr
-xr-x 3 red5 red5 4.0K Dec 15 14:53 ..
-rw-r--r-- 1 root root   79 May 23  2017 check.nginx
-rw-r--r-- 1 root root  434 Aug  6 17:31 client
lrwxrwxrwx
1 root root   31 Dec 15 14:50 client.nginx -> /etc/bigbluebutton/nginx/client
-rw-r--r-- 1 root root  782 May 11  2017 demo.nginx
-rw-r--r-- 1 root root  779 Dec 29 14:35 greenlight.nginx
-rw-r--r-- 1 root root 1.5K May 23  2017 presentation.nginx
-rw-r--r-- 1 red5 red5  729 Oct 31 16:33 screenshare.nginx
-rw-r--r-- 1 root root  312 Dec 29 12:08 sip.nginx
-rw-r--r-- 1 root root  311 Dec 29 12:07 sip.nginx.original
-rw-r--r-- 1 red5 red5  261 Oct 31 16:33 verto.nginx
-rw-r--r-- 1 root root  892 Aug  6 17:31 web
-rw-r--r-- 1 root root  406 Dec 29 09:01 webhooks.nginx
lrwxrwxrwx
1 root root   28 Dec 15 14:50 web.nginx -> /etc/bigbluebutton/nginx/web
@bbb:/etc/nginx/sites-enabled$


I even appended the contents of greenlight.nginx to /etc/nginx/sites-available/bigbluebutton.nginx and nginx complained of duplicate '/b' entries, so I'm confident that '/b' and being loaded.

Still at a loss as to why it's not working.

-Sean
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsub...@googlegroups.com.
To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsub...@googlegroups.com.
To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.

Fred Dixon

unread,
Jan 1, 2018, 1:27:12 PM1/1/18
to bigbluebu...@googlegroups.com
Hi Sean,

Let's try taking a closer look at the logs for GreenLight,


Let's see if it emits an error when trying to connect to BigBlueButton.  The fact that '/b' isn't resolving suggests that there might be an issue with nginx, but your able to access the BigBlueButton demos, so I'm not sure that's the source of your issue.

If you access GreenLight directly on the server at port 5000 to trigger the logging errors.


Regards,... Fred


To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsubscribe...@googlegroups.com.
To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsubscribe...@googlegroups.com.

To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsub...@googlegroups.com.
To post to this group, send email to bigbluebutton-setup@googlegroups.com.

Sean Crites

unread,
Jan 1, 2018, 10:14:35 PM1/1/18
to BigBlueButton-Setup
Thanks for the help Fred, in trouble shooing the connectivity between BBB & Docker (adding a LOG option to iptable's docker0 chain), I stumbled upon this error when trying to start GreenLight:

bbb:/usr/local/greenlight$ docker run -d -p 5000:80 --restart=unless-stopped -v $(pwd)/db/production:/usr/src/app/db/production -v $(pwd)/assets:/usr/src/app/public/system -v $(pwd)/log:/usr/src/app/log --env-file env --name greenlight bigbluebutton/greenlight
2d93cf6c8cdaaeee7a58e87fe3d753310101357a63bea2570c456f26a0bfd48d
docker
: Error response from daemon: driver failed programming external connectivity on endpoint greenlight (a77a5d6aea18854e46232a3df7cb60774e2bc6807d338aaada6ee75eebd59225):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name.
 
(exit status 1)).

I stopped & removed Greenlight from Docker, re-added it and kept getting the above error.. I checked iptables and sure enough the DOCKER chain wasn't loaded. I shutdown my firewall, restarted the docker service and the DOCKER chains got added. I then re-ran 'docker run' to load the GreenLight container and was able to browse to '/b' 

I'm suspecting that the order of errors was that I installed Docker, got 'hello-world' running and had stopped/started iptables dozens of times trouble shooting. I hadn't realized that Docker had added it's own chains to iptables so when I restarted iptables, those chains were missing.

bbb:/usr/local/greenlight$ docker run --rm --env-file env bigbluebutton/greenlight rake conf:check


Checking environment: Passed
Checking Connection: Passed
Checking Secret: Passed
bbb
:/usr/local/greenlight$


I've flushed iptables, restarted the docker service and saved it's iptables config. Added these rules to my firewall config will help prevent this issue in the future; if I ever have to turn off my firewall, etc.. 

In further testing, the iptables referenced at the end of the 'GreenLight' setup aren't necessary when using Docker as these are provided a long with the other necessary NAT statements:

I've verified this by 1. flusing iptables. 2. restarting docker service 3. Successfully browsing to '/b' and starting a conference. 

Thanks again Fred!

-Sean
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsub...@googlegroups.com.
To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsub...@googlegroups.com.
To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsub...@googlegroups.com.
To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.

Fred Dixon

unread,
Jan 2, 2018, 8:09:53 AM1/2/18
to bigbluebu...@googlegroups.com
Hi Sean,

Glad to hear you got it working -- and thanks for sharing the details of what was preventing it from running.  This will definitely help others in a similar scenario.

> In further testing, the iptables referenced at the end of the 'GreenLight' setup aren't necessary when using Docker as these are provided a long with the other necessary NAT statements:

Thanks -- we've commented out those instructions.

Don't hesitate to share any feedback you have in the future on GreenLight and how we can further improve it.

Regards,... Fred

To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsubscribe...@googlegroups.com.
To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsubscribe...@googlegroups.com.

To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsubscribe...@googlegroups.com.

To post to this group, send email to bigbluebu...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-setup.
For more options, visit https://groups.google.com/d/optout.



--
BigBlueButton Developer
@bigbluebutton

--
You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-setup+unsub...@googlegroups.com.
To post to this group, send email to bigbluebutton-setup@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages