Dezentralisierung rulez! Riot+Matrix auf einem Schulserver

Hi zusammen,

kurzer Spoiler: Ich habe erfolgreich nach der Anregung hier: WhatsApp Alternative - OpenFire? von @ironiemix Matrix+Riot installiert. Das ist ein ganzes Paket von Servern, die man da braucht, macht alles ein ansible-skript, das docker container installiert.
Anmeldung per schulkonto (bei mir v7, funktioniert aber sicher auch mit v6), also mein handle: @kuechel:humboldt-ka.de mit Schulkontopasswort…Einfach geil.
Ich werde euch eine Anleitung nachschieben.
Wer das auch noch am Wochenende testen will, dem empfehle ich schon jetzt:

Sehr geehrte DAmen und Herren,

wir benötigen folgende Umstellung (aufgrund derzeitiger Lage)
mit der Domäne humboldt-ka.de und deren subdomänen:

humboldt-ka.de           A        141.xxx
matrix.humboldt-ka.de    A        141.xxx
riot.humboldt-ka.de      A/CNAME  141.xxx
dimension.humboldt-ka.de A/CNAME  141.xxx

einen SRV-eintrag:
_matrix-identity._tcp  -> 10 0 443 matrix.humboldt-ka.de

an hostmaster@belwue.de
und

Sehr geehrter xxxx,

vieln Dank,
für die IP  141.xxxx habe ich noch nach folgender ANleitung:
https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/prerequisites.md

vergessen, ob Sie die Ports:
"80/tcp (HTTP webserver), 443/tcp (HTTPS webserver), 3478/tcp (TURN over
TCP), 3478/udp (TURN over UDP), 5349/tcp (TURN over TCP), 5349/udp (TURN
over UDP), 8448/tcp (Matrix Federation API HTTPS webserver), the range
49152-49172/udp (TURN over UDP).
"
von außen frei schalten könnten.
Vielen Dank,

VG, Tobias

1 „Gefällt mir“

Hallo @Tobias … was genau macht dein Bot-Script? Sehe ich das richtig: Die vollständige Installation läuft über das o.g. ansible-Script und dein Bot-Script kommt danach on-top?
Michael

Hi Michael,

nein, in Matrix sind über LDAP keine Gruppen definiert. Ich frage mich auch wie das in Mattermost & co. realisiert wird.

Es gibt zwar Rollen (Admin, Moderator, standard) oder noch viel feiner granuliert, aber keinem LDAP-flag werden irgendwelche Rollen zugewiesen. Macht auch irgendwie Sinn: alle sind erstmal gleichberechtigt. (Der Schüler ist im Raum „hey kumpel“ den er anlegt Administrator).

Allerdings lassen sich per LDAP eben nicht nur die Benutzer einladen, sondern auch die Gruppen (=Klassen) und Projekte.

Der Bot wird dazu eingeladen, scannt den Raum nach Gruppen und "enrol"led die zugehörigen Benutzer in den Raum. Hab ich nach dem enrol-script für Moodle genannt.

In der BAsis-Variante wie jetzt war das die Funktionialität. Man kann sich aber noch mehr vorstellen…
(Daten aus den sessions des Lehrers holen, so dass Teilgruppen aus den Sessions erstellt werden, DAten aus Nextcloud - circles holen, so dass Räume nach deren Daten populiert werden…)
VG, Tobias

Hallo @Tobias.
Das klingt gut! Schön, wenn die Plattformen auf diese Art weiter zusammenwachsen. Wie ist bei Euch der Andrang zu diesen Services?

OT: Ich fürchte leider, dass es für die Kollegen immer unübersichtlicher wird, je mehr Services aus unterschiedlichen Quellen wir anbieten. Daher frage ich mich schon länger, ob/wie ihr diese ganzen Dienste an Euren Schulen präsentiert?!? Mir schwebt da sowas wie eine zentrale Seite: „Dienste“ vor, auf der dann alle Services/Dienste der Schule ansprechend verlinkt werden und immer an dieser zentralen Stelle gefunden werden können. Leider ist ein SSO zu allen Diensten in einem Streich aber in weiter Ferne, oder?

Schöne Grüße,
Michael

Hi Michael,

ich mache die Cloud zur zentralen Seite: dort habe ich über „externe Seiten“ alles andere eingebunden. SSO lässt dort noch auf sich warten, es gibt einen github pull request aber der wurde bisher nicht beachtet und ist evtl. nicht für alle eingebundenen Seiten funktionsfähig: fazit: lehrer/schüler müssen sich in der Cloud anmelden und dann bei jedem einzelnen Dienst nochmal, bei mir sind das:

  • Vertretungsplan (eigenentwicklung)
  • Stundenplan (html von untis)
  • buchung (mrbs)
  • Matrix (externe Seite)
  • Email (rainloop, wer es konfiguriert, der kann das ohne Passworteingabe)
  • Schulkonsole
  • Limesurvey (v7 noch nicht angebunden)
  • Cloud-interne Dienste (SSO :slight_smile: )

grafik

OH, auf diese Art ist es tatsächlich elegant! :+1: Das werde ich mir ansehen! Heißt das, dass die Cloud bei Euch schon für alle offen ist? Wie habt ihr das skaliert?

Ja unsere Cloud ist für Schüler wie Lehrer offen.
Unsere Cloud wurde von einem i3-core mit 4 kernen (KVM - VM) auf einen i7-core mit 4 KErnen umgezogen, als die Benutzung von ca. 50 regelmäßigen auf jetzt 350 regelmäßigen Benutzern hochging.
Jetzt ziehe ich auf eine Xeon-Server-Hardware (unter ESXi) um, weil ich da 6 Kerne kriege. Bin mir aber nicht sicher, ob das besser wird, weil ich dort keine SSDs mehr drunter sondern ein SAS-Raid drunter habe.

Achtung, einziges ungelöstes Problem: Mailadressen der Schüler werden auch aus LDAP übernommen. Da ich keinen eigenen Mailserver definiert habe und die Lehrermails eigentlich über Belwue rausgehen sollen, hat mir das das Mailversenden der Cloud selbst unmöglich gemacht. Aber das kann man beheben, aber wer braucht schon mail-benachrichtigung von der CLoud? Low prio.

Hi.
Das ist Geschmackssache, würde ich sagen?! Ich finde es schon sehr gut, wenn man benachrichtigt wird – vor allem, wenn es um Terminändernungen im Kalender geht! Sonst bekommt man uU davon gar nichts mit?!

Dass das mail-Feld in der Cloud nicht änderbar ist, finde ich auch extrem nervig … wir wollen die Cloud demnächt auch für alle öffnen. Dazu wird sie auf einen anderen Server umziehen und viel mehr Storage erhalten … aber die Anbindung ist zZ weiterhin über die v6 realisiert …

Michael

P.S.: Was die Symbolleiste unter NextCloud angeht: Wie hast du die Reihenfolge der Icons editiert? Schön wäre es, wenn man auch die Breite und „... Mehr“ irgendwo editieren könnte??

Hallo Tobias,

Achtung, einziges ungelöstes Problem: Mailadressen der Schüler werden
auch aus LDAP übernommen. Da ich keinen eigenen Mailserver definiert
habe und die Lehrermails eigentlich über Belwue rausgehen sollen, hat
mir das das Mailversenden der Cloud selbst unmöglich gemacht. Aber das
kann man beheben, aber wer braucht schon mail-benachrichtigung von der
CLoud? Low prio.

inzwischen kann man in der lmn6.2 und der lmn7 die Mailadressen im LDAP
manipulieren, dass es paßt.
Bei mir hat das geklappt: die nextcloud holt sich die neuen nach ca. 15
Minuten und fertig.

LG
Holger

Ja, ich weiß. Ich kann der Nextcloud aber leider nicht sagen: an Lehreradressen schreib eine MAil, aber an Schüleradressen nicht. Ich habe als smtp-server eben der einfachheit belwue eingestellt.
Einzig „keine“ E-Mail-Adresse bei allen Schülern wäre bei diesem Setup eventuell gangbar. Alles andere endet damit, dass belwue meine IP sperrt und gar keine E-Mails mehr annimmt…
VG, Tobias

… das ist einer der Gründe, warum ich denke, dass eine schulweite eMail-Adresse für alle ein absolutes must-have-feature ist. Leider ist der docker-mail-Container noch nicht soweit, dass ich den produktiv einsetzen würde. Generell ist ein eigener Mail-Server natürlich nicht ganz unproblematisch – man macht da echt ein Fass auf. Aber die Anbindung via LDAP/AD des Containers und die Möglichkeit, eMails an Gruppen/Klassen/Kurse zu senden, macht die Sache natürlich wieder attraktiver (wenn es denn funktionieren würde).
Schöne Grüße,
Michael

Hallo zusammen,

von mir gibt es mal einen kleinen Statusbericht. Nachdem ich zunächst nach dieser Anleitung Matrix/Riot/Jitsi installiert hatte, habe ich nun die Kombination aus Rocket.Chat/BigBlueButton am Laufen. Sowohl meine Kolleginnen und Kollegen als auch die Schülerinnen und Schüler sind mit dieser Kombination auch deutlich zufriedener. Das liegt an folgenden Punkten.

  • Rocket.Chat ist für die Nutzer intuitiver. Mit den bekannten Zugangsdaten anmelden, loslegen, fertig.
  • Rocket.Chat gibt es auch als Desktop-Apps.
  • Die Integration von BigBlueButton ist gut gelöst (bis auf die Mobile Apps).
  • BBB lieferte bis jetzt in allen Tests eine gute Performance ab und ist wunderbar intuitiv zu benutzen (VM mit 8 Codes und massig RAM, 64 GB).

Was mir an der Kombination als Administrator besonders gut gefällt.

  • Ich kann sowohl Rocket.Chat als auch BBB wunderbar konfigurieren, sodass die Schülerinnen und Schüler keine eigenen Räume/Gruppen/Channels anlegen können. Somit ist immer ein Lehrer als Moderator dabei. Wollen die Schüler unter sich kommunizieren, so können sie das ja auch über Signal/Threema/… tun.
  • Zumindest in der Installationsvariante über das Ansible-Playbook konnte ich den Jitsi-Server nicht mit einer Authentifizierung gegen den LDAP absichern. Mit BBB/Greenlight hat das wunderbar geklappt.

Fazit: Bislang sind alle mit dieser Kombination (Rocket.Chat/BBB) sehr zufrieden. Wenn BelWü nun noch das PlugIn BBB/Moodle installiert, bin ich vollkommen glücklich.

Viele Grüße
Christoph

HAllo zusammen,

Haben Schüler wie Lehrer beide Chats ausprobiert? Wow, du hast testfreudiges Publikum.
VG, Tobias

Hallo Christoph,

Was mir an der Kombination als Administrator besonders gut gefällt.

  • Ich kann sowohl Rocket.Chat als auch BBB wunderbar konfigurieren,
    sodass die Schülerinnen und Schüler keine eigenen
    Räume/Gruppen/Channels anlegen können. Somit ist immer ein Lehrer
    als Moderator dabei. Wollen die Schüler unter sich kommunizieren, so
    können sie das ja auch über Signal/Threema/… tun.

eine Einstellung hab ich bei BBB noch nciht gefunden.
Die LEhrer können in moodle durch konfigurieren der BBB Aktivität schon
viel amchen, aber eines fehlt: das Ausschalten der privaten Chats.
Das hab ich bisher nur im Raum selbst dann gefunden.
Es bewirkt, dass private Chats zu anderen Teilnehmern nicht mehr gehen:
zu moderatoren gehen sie aber immernoch (was gut ist)

Zu deinem Server: du mußt aufpassen: 64GB Speicherplatz ist nicht viel.
Wenn du Videos nicht grundsätzlich abschaltetst könnte das sehr schnell
volllaufen.

LG

Holger

HAllo zusammen,
auf Nachfrage (@ksarkisian) und nachdem Christoph vorgelegt hatte, auch von mir einen Statusbericht in Sachen Matrix + Riot:

Technisch:

  • Matrix installiert sich auf einem eignen Rechner ohne größere Probleme mit Hilfe des ansible scripts. Das Ansible ist auch (fast) fool-proof.
  • Riot ist der Webchat. Der ist ziemlich cool (für einen wie mich, der keinerlei Erfahrung mit whatsapp & co. hat)
  • Riot.im gibt es als Desktop-Apps (mehrere verschiedene) und als mobile apps. Die Kollegen machen das grade nach ihrer Präferenz. Der Webchat ist für mich am geeignetsten.
  • Der Chat kann Dinge, die ich nicht erwartet hätte: Einfügen von Bildern via copy+paste, ziemlich intuitiv alles (meiner Meinung nach)
  • Der Video und Audio - Chat zwischen zwei Personen (direkt) funktioniert super - ohne Jitsi.
  • Die Jitsi-Integration ist genau das - eine Integration. Ich habe BBB installiert, weil ich von vielen hörte, dass Jitsi nicht so toll wäre. Jetzt bin ich bei BBB geblieben ohne guten Grund - Jitsi als Integration würde auch funktionieren.

Pädagogisch:

Wir haben im Kollegium BBB gar nicht offiziell gemacht. Aus verschiedenen Gründen, auch weil wir nicht sicherstellen können, dass die Internetleitungen etc. bei den Schülern dafür ausreichen. Beim chatten sehen wir das weniger problematisch.

Eine Integration von Jitsi oder BBB (rede ich mir derzeit ein), halte ich sowieso nicht für gelungen - egal welches Tool ich nehme, denn: ich habe schon einen Kommunikationskanal (z.B. email, moodle, rocketchat, matrix, mattermost) und fange dann noch mit Videokonferenz an, wo nochmal ein Chat dabei ist und ein etherpad und präsentationsmodi (also eine art von DAteiverwaltung). Daher sage ich mir: BBB/Jitsi ist nicht das Tool der Wahl, das angesurft werden sollte: man verabredet sich im Chatclient und geht dann zur Konferenz über - da ist es völlig wurscht, ob das „integriert“ ist, oder ob das ein Link ist, den man rumschickt. Daher brauchen die Schüler auch kein LDAP bei Jitsi/BBB. Die Video/audio session ist danach vorbei und Daten die dort lagen, sollten weg sein.

Was mir als Administrator gefällt:

  • Das SDK/ die API hat mir innerhalb von 24 Stunden ermöglicht den bot oben zu schreiben, selbst mein Schüler hat sich da fleißig dran beteiligen können, obwohl er in der 9. Klasse ist und python jetzt nicht gerade seine Stammprogrammiersprache ist.
  • Ich muss für die Schüler kein Email anbieten - hatten wir noch nie, werd ich jetzt auch nicht anfangen

was mir nicht gefällt:

  • Dass ich nicht gefunden habe, wie LDAP-GRuppen abgebildet werden können (deswegen auch der bot).
  • dass ich nicht verstehe, wie die „communities“ funktionieren sollen, oder wie man diese Gruppierungen in der Schule sinnvoll einsetzt - naja liegt eben brach und keiner benutzt es.

Was ich im GEgensatz zu RocketChat jetzt doof finde:

  • Dass ich nicht so restriktiv sein kann (oder nicht weiß wie es geht) wie bei RocketChat.

Was ich im Gegensatz zu RocketChat gut finde: :slight_smile:

  • Dass ich nicht so restriktiv sein kann. Wir müssen uns jetzt zwangsweise mit guter Netiquette und digitaler Selbstbestimmung auseinandersetzen, weil die Schüler natürlich jetzt
    • sich Nicks geben können und sich scheinbar als jemand anderen ausgeben können.
    • untereinander kommunizieren können und Mist bauen können
    • mit funktionierender Verschlüsselung können wir als Administratoren auch nicht in die Kommunikation reingucken: es ist eben wie whatsapp mit all seinen sozialen Problemen - aber wenigstens nicht mit den globalen Problemen.

Ich bin begeistert von Matrix+riot, wie es bei Rocketchat wäre kann ich nicht sagen - ich habs in der Kürze der Zeit nicht auch noch probieren können. (Schade eigentlich)

VG, Tobias

Ich glaube er meinte RAM :slight_smile:

Hallo Michael,

sah ich eigentlich auch so. Bin mir da nicht mehr so sicher. Nach unserem Curriuculum wollen wir auch email mit unseren Schülern mal machen. Ob das wirklich must-have ist, bin ich mir nicht sicher.
Vg, Tobias

Hi @Tobias ,

ich hole das Thema nochmal nach oben, da wir jetzt auch (endlich) einen Matrix Server betreiben wollen.
Ich hab Synapse, Element und die Ldap Iteration hinbekommen. Stehe jetzt vor dem Identity server. Ich habe nur den hier gefunden: GitHub - ma1uta/ma1sd: Federated Matrix Identity Server (formerly fork of kamax/mxisd) aber der scheint nich mehr so richtig maintained zu sein. Wie habt ihr das gelöst?

VG,
Dorian

Stehe jetzt vor dem Identity server. Ich habe nur den hier gefunden: GitHub - ma1uta/ma1sd: Federated Matrix Identity Server (formerly fork of kamax/mxisd)[GitHub - ma1uta/ma1sd: Federated Matrix Identity Server (formerly fork of kamax/mxisd)] aber der scheint nich mehr so richtig maintained zu sein. Wie habt ihr das gelöst?

Wofür denkst du denn, einen Identity-Server zu brauchen? Möchtest du Benutzer auf eurem Chatserver anhand ihrer Handynummer auffindbar machen? Falls nicht, brauchst du keinen Identity-Server.