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:
[ü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 .