====== Big Blue Button ======
| Verantwortung | Malte |
| Container | keine, dedizierter Root-Server |
| W. Ports | keine, dedizierter Root-Server |
| OS | Ubuntu 20.04.6 LTS |
| Server | [[infrastruktur:server:skaro]] |
| Zustand | Produktiv |
{{tag>infrasystem container ldapconnected skaro productive malte}}
Hier findet sich die technische Dokumentation des Chaotikum Big Blue Buttons. Diese Dokumentation beinhaltet alle Konfigurationen, die nicht direkt mit dem Datenschutz in Verbindung stehen.
[[infrastruktur:container:bbb:datenschutz|Alle für den Datenschutz relevanten Konfigurationen stehen hier.]]
[[hackspace:infrastruktur:bbb|Die allgemeine Nutzungshinweise finden sich hier.]]
=====Services=====
^ Serviceübersicht ^ Version ^
| BigBlueButton | BigBlueButton Server 2.7.1 (425) |
| Greenlight | release-3.0.7.1 |
| BigBlueButton Exporter | 0.6.1 ??? |
BigBlueButton ist eine Sammlung sehr vieler verschiedener Dienste. Die Versionsnummer von BigBlueButton beschreibt eine aufeinander abgestimmte Sammlung von Diensten.
===== BBB installieren und aktualisieren =====
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v2.7.x-release/bbb-install.sh | bash -s -- -v focal-270 -s plaudern.chaotikum.org -e infrastruktur@chaotikum.org -g -w
===== BBB neustarten =====
Nach Änderungen an der Config muss BBB neugestartet werden:
bbb-conf --restart
Greenlight wird im Ordner ''/root/greenlight-v3'' neugestartet mit
docker-compose down
docker-compose up -d
===== BBB-Version auslesen =====
bbb-conf --version
gibt sehr viele verschiedenen Versionen von allem möglichen aus, aber nicht die Gesamt-Version von BBB. Die kriegt man am Anfang als Ausgabe von
bbb-conf --check
===== Authentifizierung =====
Es gibt keine LDAP-Unterstützung in Greenlight 3 mehr. Deswegen machen wir jetzt Open ID Connect.
Nachteil: Wir können aktuell noch nicht dafür sorgen, dass nur freigegebene User sich anmelden können. Deswegen können das jetzt erstmal alle. Das ist so mittelgut, aber bei BBB auch nicht sehr schlimm.
Open ID Connect in Greenlight-Konfiguration ''%%/root/greenlight-v3/.env%%'' aktivieren:
### EXTERNAL AUTHENTICATION METHODS
OPENID_CONNECT_CLIENT_ID=greenlight
OPENID_CONNECT_CLIENT_SECRET=SECRET
OPENID_CONNECT_ISSUER=https://me.chaotikum.org/auth/realms/Chaotikum
OPENID_CONNECT_REDIRECT=https://plaudern.chaotikum.org
===== Mail-Benachrichtigungen =====
SMTP-Server in Greenlight-Konfiguration ''%%/root/greenlight-v3/.env%%'' einrichten:
### SMTP CONFIGURATION
# Emails are required for the basic features of Greenlight to function.
# Please refer to your SMTP provider to get the values for the variables below
SMTP_SENDER_EMAIL=bigbluebutton@chaotikum.org
SMTP_SENDER_NAME=BigBlueButon Greenlight
SMTP_SERVER=mail.chaotikum.net
SMTP_PORT=587
SMTP_DOMAIN=chaotikum.org
SMTP_USERNAME=bigbluebutton@chaotikum.org
SMTP_PASSWORD=uPixoB2TOTVWFWD5l4zL76onwPyV9HtitnX
SMTP_AUTH=plain
SMTP_STARTTLS_AUTO=true
SMTP_STARTTLS=false
SMTP_TLS=false
SMTP_SSL_VERIFY=true
===== Begrüßungstext =====
Anpassung des Begrüßungstexts im Chat in der Datei ''/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties'' folgende Konfigurationen anpassen:
defaultWelcomeMessage=Willkommen im Raum %%CONFNAME%%
defaultWelcomeMessageFooter=auf dem BigBlueButton des Chaotikums
===== Aufzeichnungen deaktivieren =====
In der ''%%/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties%%'':
* ''%%disableRecordingDefault=true%%''
* ''%%autoStartRecording=false%%''
* ''%%allowStartStopRecording=false%%''
* ''%%breakoutRoomsRecord=false%%''
===== BigBlueButton Exporter =====
[[https://bigbluebutton-exporter.greenstatic.dev/installation/bigbluebutton_exporter/|Anleitung]]
Wir verwenden die Docker Installation.
Datei ''/home/linadmin/bbb-exporter/docker-compose.yaml'' und ''/home/linadmin/bbb-exporter/secrets.env'' nach Anleitung.
Datei ''/etc/bigbluebutton/nginx/monitoring.nginx'':
location /metrics/ {
proxy_pass http://127.0.0.1:9688/;
include proxy_params;
}
Läuft unter https://plaudern.chaotikum.org/metrics/
===== prometheus-node-exporter =====
Die Version aus Paketquellen
apt install prometheus-node-exporter
ist leider viel zu alt. Deswegen müssen wir selber installieren. Dazu
wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz
tar xvf node_exporter-1.1.2.linux-amd64.tar.gz
mv node_exporter-1.1.2.linux-amd64/node_exporter /usr/local/bin/node_exporter
User anlegen:
useradd -rs /bin/false node_exporter
Datei ''/lib/systemd/system/node_exporter.service'':
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
systemctl enable node_exporter
systemctl start node_exporter
Port 9100 in Firewall öffnen:
ufw allow 9100/tcp
Läuft nur über IPv6 unter http://plaudern.chaotikum.org:9100/metrics
===== Default-Präsentation anpassen =====
Wir haben eine eigene Default-Präsentation unter
/var/www/bigbluebutton-default/chaotikum.pdf
Damit diese verwendet wird, muss in der Datei
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
folgende Zeile angepasst werden:
# Default Uploaded presentation file
beans.presentationService.defaultUploadedPresentation=${bigbluebutton.web.serverURL}/chaotikum.pdf
[[https://docs.bigbluebutton.org/admin/customize.html#change-the-default-presentation|Anleitung: Change the default presentation]]
===== Webcam-Hintergrund-Bilder anpassen =====
Wir haben eigene Hintergrundbilder unter
/usr/share/meteor/bundle/programs/web.browser/app/resources/images/virtual-backgrounds
Damit diese verwendet werden, muss in der Datei
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
folgende Information angepasst werden:
public:
virtualBackgrounds:
enabled: true
storedOnBBB: true
showThumbnails: true
imagesPath: /resources/images/virtual-backgrounds/
thumbnailsPath: /resources/images/virtual-backgrounds/thumbnails/
fileNames:
- sofaecke.jpg
- werkstatt.jpg
- chaotikum-logo.jpg
- chaotikum.jpg
- home.jpg
- coffeeshop.jpg
- board.jpg
[[https://docs.bigbluebutton.org/admin/customize.html#use-custom-images-for-virtual-background|Anleitung: Use custom images for virtual background]]
Die Beschreibungen der Hintergründe könnte man in den Dateien
/usr/share/meteor/bundle/programs/web.browser/app/locales/en.json
/usr/share/meteor/bundle/programs/web.browser/app/locales/de.json
anpassen. Dafür muss man aber die SHA1 der angepasste Dateien neu generieren. Siehe [[https://github.com/bigbluebutton/bigbluebutton/issues/12937|GitHub Issue #12937]]
===== Mehr Breakout-Räume erlauben =====
Man könnte das
breakoutRoomLimit
in der Datei
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
von 16 erhöhen:
breakoutRoomLimit: 16
===== bbbstatus (NICHT INSTALLIERT) =====
pip3 install uwsgi requests flask flask-caching flask-cors
git clone https://git.chaotikum.org/chaotikum/bbbstatus.git
Datei ''%%/home/linadmin/bbbstatus/config.py%%'':
url = 'https://plaudern.chaotikum.org/bigbluebutton/api/'
action = 'getMeetingInfo'
meetingID = 'sb5cz439t1u5cxgflyehsqszzvv23arldqe7qxsz'
secret = 'SECRET_SECRET_SECRET'
Secret übernehmen aus ''%%bbb-conf --secret%%''
Datei ''%%/etc/bigbluebutton/nginx/bbbstatus.nginx%%'':
location /status {
proxy_pass http://127.0.0.1:9009/status;
include proxy_params;
}
Datei ''%%/lib/systemd/system/bbbstatus.service%%'':
[Unit]
Description=uWSGI BBB Status
After=syslog.target
[Service]
ExecStart=/usr/local/bin/uwsgi --socket localhost:9009 --protocol=http --chdir /home/linadmin/bbbstatus -w status
# Requires systemd version 211 or newer
RuntimeDirectory=uwsgi
Restart=always
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=all
[Install]
WantedBy=multi-user.target
systemctl enable bbbstatus
systemctl start bbbstatus
Läuft unter https://plaudern.chaotikum.org/status
===== Wartung =====
{{topic>:infrastruktur:wartung?wartungsfenster +bbb &nodate&nouser&desc&table}}