Echtzeit-Kollaboration im Browser: Etherpad in OpenTalk nutzen

In diesem Artikel zeigen wir, wie Sie Etherpad mit OpenTalk verbinden, einen eigenen Editor aufsetzen und so das integrierte Protokoll-Modul nutzen können: vom Docker-Container über die Webserver-Konfiguration bis hin zum fertigen PDF – alles, was Sie für die Echtzeit-Kollaboration im Browser brauchen.
Etherpad erklärt: Der Open-Source-Editor für gemeinsame Notizen
Etherpad ist ein Online-Editor, der es in sich hat – und zwar im besten Sinne. Er erlaubt es mehreren Personen, gleichzeitig am selben Dokument zu arbeiten – direkt im Browser. Was Etherpad besonders macht: Jede Änderung erscheint sofort bei allen anderen. Keine Verzögerung, kein „XYZ hat gespeichert“ – einfach live.
Im Hintergrund läuft dabei ein cleverer Mechanismus zur Synchronisation: Änderungen werden automatisch zusammengeführt, Konflikte vermieden, und wer möchte, kann jederzeit zu älteren Versionen zurückspringen – inklusive Zeitstrahl. Auch die Zuordnung der Beiträge bleibt nachvollziehbar: Jede Person bekommt beim Einstieg eine eigene Farbe, Änderungen werden farblich markiert. So sieht man auf einen Blick, wer was geschrieben hat.
Wenn ein Moderator die Meeting Notes startet, wird ein neues Pad – so heißen die gemeinsamen Dokumente bei Etherpad – für die Konferenz erstellt. Die Nutzer der Konferenz bekommen dann, je nach Rolle, Lese- oder Schreibrechte. Als Moderator können Sie die Rechte individuell verwalten. Wenn das Dokument fertig ist, lässt es sich in verschiedenen Formaten exportieren: als reiner Text, HTML-Datei, PDF oder Word-Dokument.
Ursprünglich 2008 gestartet und 2009 von Google unter einer Open-Source-Lizenz freigegeben, wird Etherpad heute von einer engagierten Community weiterentwickelt – koordiniert durch die Etherpad Foundation. Die Software läuft auf eigenen Servern, ist datensparsam und anpassbar – und damit wie gemacht für den Einsatz in souveränen Videokonferenz-Plattformen wie OpenTalk.
Etherpad in OpenTalk: Das steckt dahinter
Damit Etherpad nahtlos mit OpenTalk zusammenarbeitet, stellt unser Team ein eigenes Docker-Image bereit. Die Grundlage bildet der offizielle Etherpad-Code – ergänzt um einige Patches und kleinere Verbesserungen.
Neben dem Kernmodul ep_etherpad-lite, das die eigentliche Editor-Funktionalität bereitstellt, sind auch zwei speziell konfigurierte Plugins dabei: ep_auth_session erlaubt es dem Controller, Login-Links zu erzeugen, die automatisch ein Session-Cookie setzen – so wird der Zugriff nahtlos gesteuert. Mit ep_read_session lassen sich Pads zusätzlich in einer schreibgeschützten Sitzung öffnen. So entsteht ein sicherer und flexibler Rahmen für kollaboratives Arbeiten direkt in der Videokonferenz.
Wir halten unser Image möglichst aktuell und stellen regelmäßig neue Builds zur Verfügung, die mit dem offiziellen Etherpad-Projekt kompatibel bleiben – aber besser auf die Anforderungen in einer souveränen Videokonferenz-Lösung abgestimmt sind.
Was brauche ich, um Etherpad mit OpenTalk zu nutzen?
Um Etherpad in OpenTalk einzubinden, braucht es im Grunde nur drei Dinge: eine laufende OpenTalk-Instanz, einen funktionierenden Etherpad-Server – und einen Webserver, der die Anfragen richtig weiterleitet.
Etherpad läuft als eigenständiger Dienst und stellt die Oberfläche für die gemeinsamen Notizen bereit. Damit die Kommunikation zwischen OpenTalk und Etherpad klappt, müssen zwei Dinge stimmen: Die Etherpad-Instanz muss per API-Schlüssel abgesichert sein, und Etherpad muss den HTTP-Header X-Forwarded-Proto korrekt auswerten können, falls OpenTalk hinter einem Proxy läuft. Dabei handelt es sich um einen Header, der dem Dienst mitteilt, ob die ursprüngliche Anfrage per HTTP oder HTTPS gestellt wurde. Dazu setzen Sie, wie im nächsten Abschnitt beschrieben, eine Umgebungsvariable im Container.
Etwas mehr Aufmerksamkeit erfordert der Webserver. Etherpad nutzt WebSockets für die Live-Verbindung – wer also einen Apache oder Nginx davor schaltet, muss sicherstellen, dass WebSocket-Verbindungen korrekt durchgereicht werden. Fehlt die passende RewriteRule oder ein ProxyPass, schlägt die Verbindung fehl – im schlimmsten Fall sieht man nur ein „Reconnect timed out“ (siehe Abschnitt „Etherpad über Apache mit SSL verfügbar machen“).
OpenTalk und Etherpad: Docker-Installation Schritt für Schritt
Etherpad lässt sich als eigenständiger Docker-Container betreiben – und genau das empfehlen wir auch für die Nutzung mit OpenTalk. Die Anbindung erfolgt über das Modul meeting_notes, das automatisch aktiv wird, sobald Etherpad erreichbar und korrekt konfiguriert ist.
In unserer docker-compose.yaml haben wir dafür einen eigenen Dienst namens pad ergänzt. Zu finden ist dieses in unserem ot-setup repository. Das Container-Image stammt aus der OpenTalk-Registry und bringt bereits alles mit, was für den Betrieb nötig ist. Wichtig sind vor allem die Umgebungsvariablen: Über EP_APIKEY definieren Sie den geheimen Schlüssel, mit dem sich OpenTalk später authentifiziert. Wenn Sie Etherpad auf einem echten Server hinter einem Reverse Proxy betreiben – also zum Beispiel mit Apache und eigener Domain – sollten Sie zusätzlich TRUST_PROXY setzen. Diese Variable sorgt dafür, dass Etherpad HTTPS-Anfragen korrekt erkennt und verarbeitet. In einem lokalen Testsetup ohne Proxy ist sie dagegen nicht erforderlich. Auch ein Admin-Zugang kann direkt mitgegeben werden:
pad:
image: registry.opencode.de/opentalk/etherpad:latest
profiles: ["pad"]
restart: always
environment:
EP_APIKEY: ${EP_APIKEY}
TRUST_PROXY: "${TRUST_PROXY:-true}"
DEFAULT_PAD_TEXT: "${DEFAULT_PAD_TEXT:-Welcome to OpenTalk}"
ADMIN_USER: admin
ADMIN_PASSWORD: <sicheres-passwort>
SUPPRESS_ERRORS_IN_PAD_TEXT: "${SUPPRESS_ERRORS_IN_PAD_TEXT:-true}"
ports:
- "${EP_EXP_PORT:-9001}:${EP_PORT:-9001}"
Außerdem ergänzen Sie zwei Zeilen im Controller-Dienst (Abschnitt controller:), damit OpenTalk weiß, wo Etherpad erreichbar ist und wie die Authentifizierung funktioniert:
controller:
image: [...]
environment:
[...]
OPENTALK_CTRL_ETHERPAD__URL: "${EP_ENDPOINT:-}"
OPENTALK_CTRL_ETHERPAD__API_KEY: "${ETHERPAD_API_KEY:-}"
Die Werte für die Umgebungsvariablen lassen sich in einer .env-Datei ablegen. Besonders wichtig ist dabei der API-Schlüssel – er muss mit dem Eintrag in der OpenTalk-Konfiguration übereinstimmen:
### etherpad
[...]
EP_ENDPOINT="https://pad.$OT_DOMAIN"
EP_APIKEY=$ETHERPAD_API_KEY
Über EP_ENDPOINT geben Sie die öffentliche Adresse Ihres Etherpad-Servers an (siehe nächster Abschnitt). Der eigentliche Schlüssel wird weiter oben in der .env gesetzt – zum Beispiel so:
ETHERPAD_API_KEY=<geheimer-api-key>
So bleibt die Konfiguration übersichtlich und lässt sich gut automatisieren. Die Variablen EP_ENDPOINT und EP_APIKEY werden automatisch von der docker-compose.yaml und dem Controller übernommen – entweder über die Umgebungsvariablen des Dienstes oder über das Konfigfile controller.toml.
Etherpad über Apache mit SSL verfügbar machen
Damit Etherpad auch wirklich im Browser erreichbar ist – und zwar zuverlässig und sicher – braucht es eine eigene Subdomain, ein gültiges SSL-Zertifikat und einen sauber konfigurierten Webserver. In unserem Fall läuft Etherpad unter pad.ihre-domain.de hinter einem Apache – das Setup funktioniert aber genauso mit Nginx.
Das Let's-Encrypt-Zertifikat wird dabei systemweit eingebunden. Entscheidend ist: Etherpad nutzt WebSockets für die Echtzeit-Kommunikation. Diese müssen vom Webserver korrekt weitergeleitet werden:
<VirtualHost *:80>
ServerName pad.ihre-domain.de
Redirect permanent / https://pad.ihre-domain.de/
</VirtualHost>
<VirtualHost *:443>
ServerName pad.ihre-domain.de
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/ihre-domain.de/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ihre-domain.de/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
ProxyPreserveHost On
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set Host "pad.ihre-domain.de"
# WebSocket-Unterstützung
RewriteEngine on
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:9001/$1 [P,L]
ProxyPass / http://127.0.0.1:9001/ retry=0 timeout=300 keepalive=On
ProxyPassReverse / http://127.0.0.1:9001/
<Location />
Require all granted
</Location>
ErrorLog /var/log/apache2/pad_error.log
CustomLog /var/log/apache2/pad_access.log combined
</VirtualHost>
Wichtig ist außerdem, dass die benötigten Apache-Module (proxy, proxy_http, proxy_wstunnel, headers und rewrite) aktiviert sind.
Etherpad starten: So läuft der Container sauber
Wenn die Konfiguration steht, kann Etherpad gestartet werden – am besten über den Compose-Befehl mit aktiviertem Profil:
docker compose --profile pad up -d --build
Damit wird der Dienst im Hintergrund gestartet und neu gebaut, falls sich am Image etwas geändert hat. Sobald der Container läuft, lässt sich Etherpad im Browser aufrufen – zum Beispiel unter https://pad.ihre-domain.de. Wer ganz sicher gehen will, testet vorab per Terminal:
curl -vk https://pad.ihre-domain.de
Antwortet der Server, ist die Verbindung korrekt eingerichtet – und Etherpad bereit für den Einsatz in OpenTalk.
Wer sichergehen möchte, dass auch im Hintergrund alles stimmt, wirft zusätzlich einen Blick in die Docker-Logs:
$ docker logs opentalk-pad-1
[...]
[2025-06-20T09:18:23.160] [INFO] server - Etherpad is running
[2025-06-20T09:19:03.892] [INFO] http - Successful authentication from IP
ANONYMOUS for user <no username>
[2025-06-21T10:16:06.607] [INFO] access - [CREATE]
pad:g.DzIM1Ay9NS3ag5v7$meeting_notes socket:rEM5Bqc5Ts6VS8teAAAF IP: ANONYMOUS
authorID:a.WFIx7tBpMzMUy2qf
Protokollfunktion in OpenTalk gemeinsam nutzen
Sobald Etherpad in OpenTalk eingebunden ist, steht Teilnehmer*innen im Meeting eine zusätzliche Funktion zur Verfügung: das gemeinsame Protokoll. Dabei handelt es sich um ein eingebettetes Etherpad-Dokument, das direkt in der Videokonferenz angezeigt wird – sichtbar für alle, aber bearbeitbar nur für diejenigen, denen Schreibrechte zugewiesen wurden.
Der Ablauf ist einfach: Die Gastgeberin oder der Gastgeber startet das Protokoll über einen Klick auf das Icon in der linken Seitenleiste, vergibt Schreibrechte und klickt auf Protokoll für alle anzeigen:
Das Pad erscheint dann als zusätzlicher Reiter in der oberen Bildschirmleiste – neben der Ansichtsauswahl. Wer das Fenster später ausblenden möchte, klickt auf Protokoll schließen und kehrt damit zur normalen Konferenzansicht zurück.
Die eigentliche Bearbeitung erfolgt direkt im Editor. In der Titelleiste stehen verschiedene Werkzeuge bereit, um Formatierungen anzupassen oder den Text zu strukturieren. Per Klick auf das kleine Zahnradsymbol oben rechts erreichen Sie die Pad-Einstellungen: Hier können Sie festlegen, ob die Benutzerliste eingeblendet werden sollen, ob die Farben der Autor*innen sichtbar sind oder ob Zeilennummern angezeigt werden. Auch Schriftart und Sprache lassen sich hier individuell festlegen. Besonders praktisch: Diese Einstellungen gelten nur für die eigene Ansicht – andere Teilnehmerinnen sehen weiterhin ihre eigene Konfiguration.
Protokolle speichern: Export- und Import-Möglichkeiten
Was während eines Meetings gemeinsam entsteht, soll am Ende nicht verloren gehen. Deshalb lässt sich das laufende Protokoll in OpenTalk auf zwei Arten sichern: Entweder direkt aus der Editoransicht über den Punkt Import/Export oder über die Schaltfläche Protokoll PDF erstellen unten links in der Seitenleiste. Letztere erstellt nicht nur ein PDF des aktuellen Protokolls, sondern speichert es auch automatisch im persönlichen Speicherbereich der jeweiligen Nutzerin bzw. des Nutzers. Die PDFs erscheinen dort mit Zeitstempel und lassen sich jederzeit erneut herunterladen oder löschen – zu finden unter Einstellungen / Speicher.
Wer lieber andere Formate nutzt, öffnet die Import/Export-Funktion über das Symbol mit den zwei Pfeilen oben rechts über dem Pad. Dort stehen verschiedene Exportoptionen zur Verfügung: HTML, einfache Textdatei, Microsoft Word, PDF oder ODF (Open Document Format). Auch ein Export im nativen Etherpad-Format ist möglich – ideal für Backups oder technische Weiterverarbeitung.
Ebenso leicht lassen sich vorbereitete Inhalte in das Pad importieren – etwa ein vorformuliertes Sitzungsprotokoll, das im Meeting ergänzt werden soll. Dafür einfach eine Datei auswählen, auf Jetzt importieren klicken – und loslegen.
Souverän dokumentieren – direkt aus dem Meeting
Die Integration von Etherpad in OpenTalk zeigt, wie sinnvoll Open-Source-Werkzeuge zusammenspielen können – pragmatisch, datensouverän und ohne Medienbruch. Was früher in E-Mails, Chatverläufen oder einzelnen Word-Dokumenten endete, wird heute gemeinsam im Meeting festgehalten.
Dabei ist Etherpad kein neues Tool – aber es passt perfekt zur Idee von OpenTalk: dezentrale Kontrolle, einfache Bedienung und volle Transparenz. Und genau deshalb nutzen wir es – nicht als Gimmick, sondern als festen Bestandteil unserer Meetings.
Open Source lebt vom Zusammenspiel – genau wie Etherpad und OpenTalk. Wenn Sie wissen möchten, woran wir gerade arbeiten und welche neuen Funktionen demnächst kommen, folgen Sie uns auf LinkedIn, Mastodon oder Bluesky!
Weitere Beiträge
Europäische Videokonferenzen: Sicher und Souverän
Der Bedarf an sicheren, datenschutzkonformen und vertrauenswürdigen Kommunikationslösungen steigt kontinuierlich – insbesondere in Behörden, Unternehmen und öffentlichen Einrichtungen.
Schleswig-Holstein setzt landesweit auf OpenTalk
Mit dem Fokus auf Open Source, Datenschutz und digitale Souveränität führt Schleswig-Holstein OpenTalk als zukunftssichere Videokonferenzlösung in der Landesverwaltung ein.