Flexibilität und Unabhängigkeit für Ihre Videokonferenzen.
Sichere Videokonferenzen für alle, die digital souverän bleiben wollen.
08.07.2025OpenTalk

Echtzeit-Kollaboration im Browser: Etherpad in OpenTalk nutzen

Darstellung des Etherpads in OpenTalk

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:

Schreibrechte verwalten in OpenTalk

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.

Etherpad Einstellungen OpenTalk

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.

Übersicht Protokolle OpenTalk

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