ImmunHelden / ImmunHelden.de

Project and team formed in the #WirVsVirus Hackathon of the German Federal Government
http://immunhelden.de
MIT License
4 stars 1 forks source link

Jitsi Meet Server selbst hosten #43

Open weliveindetail opened 4 years ago

weliveindetail commented 4 years ago

Setup mit Docker Compose sieht vielversprechend aus: https://github.com/jitsi/docker-jitsi-meet

weliveindetail commented 4 years ago

Follow-up von https://github.com/ImmunHelden/ImmunHelden.de/issues/35#issuecomment-619622724

A room name could be generated automatically and as long it is a 1 on 1 conversation it will be peer to peer. A password and room name can be generated at random.

API Docs https://github.com/jitsi/jitsi-meet/blob/master/doc/api.md

How to host own Jitsi Docs: https://github.com/jitsi/jitsi-meet/blob/master/doc/README.md#devops-guide

weliveindetail commented 4 years ago

Subdomain meet.immunhelden.de steht

weliveindetail commented 4 years ago

Wir werden eine oder mehrere statische Seiten wie diese brauchen, die angezeigt werden wenn:

Zum genauen Ablauf gibt es noch offene Fragen, die wir am besten beantworten können, sobald der Server steht. In der Zwischenzeit können wir hier jeweils einen Work-in-progress Placeholder einbauen.

weliveindetail commented 4 years ago

Auf dem Jitsi Beispielserver kann man ad-hoc ein Meeting starten, einfach indem man eine URL besucht, z.B.: https://meet.jit.si/askdjhsjdfadsghfsadkfhucsi

Der Host (derjenige der den Raum als erster betritt) kann dann für alle weiteren Teilnehmer ein Passwort vergeben:

Screenshot 2020-05-24 at 07 53 02

Als Teilnehmer muss ich das Passwort beim Betreten des Raums eingeben:

Screenshot 2020-05-24 at 07 51 09

Ich denke auf unserem Server sollten wir versuchen das anders zu machen:

Im Handbuch wird Authentifizierung als Lösung beschrieben (hier auch ausführlich auf deutsch): https://jitsi.github.io/handbook/docs/devops-guide/secure-domain

It is possible to allow only authenticated users for creating new conference rooms. Whenever new room is about to be created Jitsi Meet will prompt for user name and password. After room is created others will be able to join from anonymous domain.

Das halte ich für nicht ganz optimal, denn dann:

Wenn ich es richtig verstehe, würden meine zwei Vorschläge oben all diese Nachteile vermeiden.

weliveindetail commented 4 years ago

Wie lösen wir das Logging für den Jitsi Server? Ich könnte in unserem Backend eine Funktion bereitstellen die per POST Request Log Daten entgegen nimmt. Könnte für den Anfang im Klartext sein. In einem zweiten Schritt könnte ich euch einen Public Key für die Verschlüsselung der Log-Daten ausstellen.

DominikGolle commented 4 years ago

Was wird denn dabei alles geloggt? Bei einem jitsi-meeting zwischen 2 Personen werden doch z.B. keine IP-Adressen geloggt. Oder ist das nur bei p2p-Verbindungen ohne meeting room?

weliveindetail commented 4 years ago

Guter Punkt, natürlich sollten auch in den Logs keine personenbezogenen Daten gespeichert werden. Damit sollten wir uns nochmal im Detail beschäftigen, sobald der Server mal steht.

Genau, auch nochmal für uns als Referenz: 1-zu-1 Verbindungen sollten von Jitsi als p2p realisiert werden. Details finden sich z.B. hier: https://jitsi.org/security/

Jitsi meetings can operate in 2 ways: peer-to-peer (P2P) or via the Jitsi Videobridge (JVB). This is transparent to the user. P2P mode is only used for 1-to-1 meetings. In this case, audio and video are encrypted using DTLS-SRTP all the way from the sender to the receiver, even if they traverse network components like TURN servers.

Ich glaube auch in diesem Fall gibt es einen "Meeting Room", also zumindest eine Art Session-Record der auf dem Server liegt, für Dinge wie Herstellung der Verbindung, Schlüsselaustausch, etc.

Logging wäre vor allem dann wichtig, wenn etwas schief läuft. Also wenn die Verbindung abreist oder eine dritte Person versucht einem Meeting beizutreten. Wie es genau gelöst ist, sollten wir herausfinden.

weliveindetail commented 4 years ago

Zu Logs und Datenschutz haben wir hier Details zu sentry.io notiert: https://github.com/ImmunHelden/ImmunHelden.de/issues/62#issuecomment-638645186

weliveindetail commented 4 years ago

Ansible deployment Konfiguration hier: https://github.com/ImmunHelden/JitsiMeetServer/pull/1

weliveindetail commented 4 years ago

Server steht, SSH Zugang funktioniert. Armin hat angeboten für Rückfragen zur Verfügung zu stehen. Hoffentlich finde ich bald die Zeit hier weiterzumachen!

weliveindetail commented 4 years ago

Wir haben noch immer keine Kapazitäten uns damit im Detail zu befassen.