BBB – How to Add an Imprint and Privacy Statement

Out of the box, BigBlueButton and Greenlight do not have an easy way to link to an imprint or privacy statement. As I am operating a server for others, that’s a bit of a problem as I really want to inform people how the server and the service deals with private data. So when I had a bit of time, I had a closer look how an imprint and privacy statement link could be added to the footer (Powered by Greenlight…) on every page. In the end it boils down to modifying the Greenlight source which requires a bit of effort the first time around. However, once you know where to look and what to do, it can be done in a few minutes. So here’s my procedure:

One Time Procedure for Modifying Content (The page ooter in this case)

The default way to use Greenlight is to install and run it in a Docker container. To modify the web page one needs to get the source from Github and then replace the current Greenlight folder on the server with it. More details on the procedure can be found in the ‘customize’ part of the Greenlight documentation:

cd greenlight
docker-compose down

cd ..
mv greenlight/ greenlight-old/

git clone https://github.com/bigbluebutton/greenlight

# Copy the config 
cp ~/greenlight-old/.env ~/greenlight/.env

# Copy the user database!
sudo cp -r ~/greenlight-old/db ~/greenlight/

# Restart Greenlight and BBB
cd ~/greenlight
docker-compose down
docker-compose up -d

bbb-conf --restart

At this point, everything should be up and running again. Open a room and check with voice and video!

Procedure for Modifying Content – In Particular: The Footer

One thing that also needs to be done only once is to slightly adapt the docker compose file. Adapt the ‘image’ and ‘container_name’ lines as shown below. Use your own name 🙂

cd greenlight
nano docker-compose.yml

# Now modify the image line:

services:
  app:
    entrypoint: [bin/start]
    image: martin:release-v2
    container_name: greenlight-v2
    env_file: .env

An now modify the footer and insert the text and link to your privacy statement and imprint:

nano app/views/shared/_footer.html.erb

<footer class="footer pt-3">
  <p class="text-center mb-1"><%= t("footer.powered_by", href: link_to(t("greenlight"), "https://bigbluebutton.org/2018/07/09/greenlight-2-0/", target: "_blank", rel: "noopener")).html_safe %> <%= Greenlight::Application::VERSION %> |  <a href="https://www.YOURDOMAIN.com/imprint">Imprint and Privacy Statement</a> </p>
</footer>

Once done, it’s necessary to compile Greenlight and create the Docker container. The first time around, this will take a while as the Ruby environment is installed. Patience… It will be faster on subsequent changes!

Note in the commands below: The two input parameters to image_build.sh are references to the changes made in docker-compose.yml above (martin and release-v2)!

docker-compose down
./scripts/image_build.sh martin release-v2
docker-compose up -d

sudo bbb-conf --restart

At the end of the process, a warning will appear that you can safely ignore:

#### Docker image for martin can't be published because CD_DOCKER_USERNAME or CD_DOCKER_PASSWORD are missing (Ignore this warning if running outside a CD/CI environment)

Done!