Opentalk Opensource Videokonferenz Server DSGVO Konform Installieren

 

Opentalk ist eine Open-Source-Videokonferenzlösung, ähnlich wie Jitsi oder BigBlueButton, die selbst gehostet werden kann. Sie eignet sich für den Einsatz im Bildungsbereich und in Unternehmen. Die Software läuft komplett im Browser und wird über Docker-Container bereitgestellt. Die gehostete Version erfüllt die Anforderungen des BSI (Bundesamt für Sicherheit in der Informationstechnik).

 

Voraussetzungen

  • Ubuntu 24.10 mit Administrationsrechten
  • Server-Ausstattung:
    • CPU: 2 Cores
    • RAM: 4 GB
    • HDD: 20 GB
  • Eine Domain mit den folgenden A-Einträgen im DNS:
    • talk.example.com
    • accounts.talk.example.com
    • controller.talk.example.com
    • livekit.talk.example.com

1. System aktualisieren

sudo apt-get update
sudo apt-get upgrade

2. Benötigte Pakete installieren

sudo apt-get install pwgen git-core certbot ca-certificates curl gnupg apt-transport-https curl 

3. UFW-Firewall konfigurieren

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
sudo ufw allow 20000:40000/udp
sudo ufw reload
sudo ufw status

4. SSL-Zertifikate erstellen

Für jede URL ein SSL-Zertifikat mit Certbot erstellen:

sudo certbot certonly --standalone -d talk.example.com
sudo certbot certonly --standalone -d accounts.talk.example.com
sudo certbot certonly --standalone -d controller.talk.example.com
sudo certbot certonly --standalone -d livekit.talk.example.com

5. NGINX installieren

sudo apt-get install nginx
sudo systemctl start nginx
sudo rm /etc/nginx/sites-enabled/default
sudo systemctl enable nginx
sudo openssl dhparam -out /etc/ssl/dhparam.pem 4096
sudo systemctl restart nginx

6. Opentalk-Repository klonen

git clone --branch v24.21.0 https://gitlab.opencode.de/opentalk/ot-setup.git /opt/opentalk

Prüfen, ob es eine neuere Version gibt!

7. NGINX-Konfiguration

Beispiel-Dateien kopieren:

cp /opt/opentalk/extras/nginx-samples/snippets/sslsettings.conf.sample /etc/nginx/snippets/sslsettings.conf
cp /opt/opentalk/extras/nginx-samples/controller.conf.sample /etc/nginx/sites-available/controller.conf
cp /opt/opentalk/extras/nginx-samples/keycloak.conf.sample /etc/nginx/sites-available/keycloak.conf
cp /opt/opentalk/extras/nginx-samples/frontend.conf.sample /etc/nginx/sites-available/frontend.conf
cp /opt/opentalk/extras/nginx-samples/livekit.conf.sample /etc/nginx/sites-available/livekit.conf

Anpassen der nginx Konfigs

cd /etc/nginx/site-avalaible/

Frontend.conf
sed -i ’s/example\.com/**EURE-DOMAIN**/g‘ /etc/nginx/sites-available/frontend.conf

Controller
sed -i ’s/example\.com/**EURE-DOMAIN**/g‘ /etc/nginx/sites-available/controller.conf

Keycloak

sed -i ’s/example\.com/**EURE-DOMAIN**/g‘ /etc/nginx/sites-available/keycloak.conf

Livekit

sed -i ’s/example\.com/**EURE-DOMAIN**/g‘ /etc/nginx/sites-available/livekit.conf

8. Docker installieren

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl is-active docker

9. Environment konfigurieren

cd /opt/opentalk/
cp env.sample .env
bash extras/gen-secrets.sh

Die generierten API-Passwörter in die Datei .env einfügen und die Domain anpassen:

OT_DOMAIN="talk.example.com"

10. Controller-Konfigurationsdatei erstellen

cp extras/opentalk-samples/controller.toml.sample config/controller.toml

Anpassen der Konfiguration mit den Secrets:

source .env; sed -i "s/postgrespw/$POSTGRES_PASSWORD/g" config/controller.toml
source .env; sed -i "s/keycloakclientsecretforcontroller/$KEYCLOAK_CLIENT_SECRET_CONTROLLER/g" config/controller.toml
source .env; sed -i "s/livekitapisecret/$LIVEKIT_KEYS_API_SECRET/g" config/controller.toml
source .env; sed -i "s/spacedeckapitoken/$SPACEDECK_API_TOKEN/g" config/controller.toml
source .env; sed -i "s/etherpadapikey/$ETHERPAD_API_KEY/g" config/controller.toml

11. Docker-Container starten

docker compose up -d

Alle Container sollten nun online sein. Wir Prüfen das ncoh mal

docker -ps

12. Benutzer in Keycloak erstellen

URL: https://accounts.talk.example.com/auth/

Standard-Zugangsdaten:

  • Benutzername: admin
  • Passwort: (wird bei der Installation generiert)

Dann links oben opentalk auswählen, ihr könnt entweder den testuser temporär aktivieren oder einen neuen erzeugen

 

13. Opentalk Login

Öffnet  die Webseite talk.example.com um euch mit den Userdaten ein zu loggen

Nun auf ein Meeting starten klicken

Auf der Linken Seite habt ihr auch einige Moderation Möglichkeiten wie Teilnehmer Stummschalten oder Umfragen erstellen und eine Kaffeepause zu schalten.

 

14. Auslastung mit 2 Usern

 

Opentalk über diese Anleitung grundsätzliche Möglichkeiten mit, um ein Meeting abzuhalten. Die Performance Werte halten sich im Rahmen, da hatte ich bei Jitsi Installationen und kleinen Teilnehmern der Meetings größer Last auf der CPU und dem RAM. Ich sehe Jitsi als willkommene Open-Source-Software.

 

Links:

OpenTalk Repro 

BSI Certifizierung 

[über den Autor PlaNet Fox ]

Alexander Fox | PlaNet Fox unterstützt HowToForge und das ISPConfig Projekt seit vielen Jahren. Er ist OpenSource Consultant und Zabbix Specialist .

Das könnte dich auch interessieren …