PairDrop per Docker für lokale Dateiübertragungen einrichten¶
Veröffentlicht am 22. August 2026 · Geschätzte Lesezeit: 4 Minuten
PairDrop überträgt Dateien und Text direkt zwischen modernen Browsern und funktioniert dabei plattformübergreifend ähnlich wie AirDrop. Der eigene Server vermittelt die Geräte; im normalen Peer-to-Peer-Betrieb werden die Dateien nicht dauerhaft darauf abgelegt. Die Einrichtung dauert ungefähr 10 Minuten.
Voraussetzungen
- Ein Server mit Docker und Docker Compose
- Der Port 3000 ist im Heimnetz frei
- Zwei Geräte mit modernem Browser im selben lokalen Netzwerk
- Eine feste IP-Adresse für den Docker-Server
1. Benutzer- und Gruppen-ID ermitteln¶
Führe beide Befehle auf dem Docker-Server als der Benutzer aus, unter dem du Docker verwaltest. Notiere die ausgegebenen Zahlen:
Die erste Zahl ersetzt später <puid>, die zweite <pgid>. Bei vielen normalen Linux-
Benutzern lautet beides 1000, darauf solltest du dich aber nicht blind verlassen.
2. Arbeitsordner anlegen¶
Dieser Befehl erstellt den Projektordner und wechselt hinein:
3. Compose-Datei anlegen¶
Lege im Ordner ~/docker/pairdrop eine Datei compose.yaml an:
services:
pairdrop:
image: lscr.io/linuxserver/pairdrop:latest
container_name: pairdrop
restart: unless-stopped
environment:
PUID: "<puid>"
PGID: "<pgid>"
TZ: Europe/Berlin
RATE_LIMIT: "true"
WS_FALLBACK: "false"
DEBUG_MODE: "false"
ports:
- "3000:3000"
Ersetze <puid> und <pgid> durch die zuvor ermittelten Zahlen. RATE_LIMIT begrenzt
übermäßige Anfragen. Der WebSocket-Rückfall bleibt ausgeschaltet, damit Dateien nicht
ersatzweise über den Server geleitet werden.
4. Konfiguration prüfen und starten¶
Prüfe die Compose-Datei im Projektordner:
Starte PairDrop im Hintergrund:
Kontrolliere den Container:
Bei Problemen zeigen die Protokolle weitere Hinweise:
5. Datei im Heimnetz übertragen¶
Öffne auf zwei Geräten im selben Netzwerk http://<server-ip>:3000. Ersetze <server-ip>
durch die feste IP-Adresse des Docker-Servers. Nach kurzer Zeit müssen sich beide Browser als
Geräte anzeigen.
Wähle auf dem sendenden Gerät den Empfänger und danach eine kleine Testdatei. Bestätige den Empfang auf dem zweiten Gerät und öffne die heruntergeladene Datei.
Empfänger vor dem Senden prüfen
Im gemeinsamen Netz können auch fremde PairDrop-Browser erscheinen. Vergib über das Stiftsymbol eindeutige Gerätenamen und kontrolliere den Empfänger bei jeder Übertragung.
6. Zugriff sinnvoll begrenzen¶
Veröffentliche Port 3000 nicht über eine Routerfreigabe. Der einfache Aufbau ist für ein vertrauenswürdiges Heimnetz gedacht. Trenne Gäste- und IoT-Netze per Firewall vom Server, wenn deren Geräte PairDrop nicht verwenden sollen.
Öffentlicher Betrieb braucht HTTPS
Für eine öffentliche Domain empfiehlt die offizielle Dokumentation einen HTTPS-Reverse-
Proxy. Dabei muss X-Forwarded-For korrekt gesetzt sein, sonst können Clients einander
falsch zugeordnet werden. Übertragungen zwischen unterschiedlichen Netzen benötigen je nach
Verbindung zusätzlich einen eigenen STUN/TURN-Aufbau.
7. Verhalten ohne direkte Verbindung verstehen¶
Mit WS_FALLBACK=false bricht eine Übertragung ab, wenn Browser keine direkte WebRTC-
Verbindung herstellen können. Das ist im Heimnetz meist die transparentere Einstellung.
Aktivierst du später bewusst den WebSocket-Rückfall, laufen die übertragenen Daten über deinen PairDrop-Server. Der Server benötigt dann ausreichend Bandbreite und könnte den Datenstrom technisch lesen. Dokumentiere diese Änderung für alle Benutzer.
8. Backup und Rückweg¶
PairDrop speichert im gezeigten Aufbau keine übertragenen Dateien dauerhaft und benötigt kein Daten-Volume. Sichere deshalb die Konfiguration selbst:
Prüfe die Sicherung:
Ersetze <datum> durch das Datum im Dateinamen. Falls eine Änderung Probleme verursacht,
stoppe den Stack und starte ihn wieder mit der geprüften Sicherungsdatei.
9. Aktualisieren¶
Lade das aktuelle freigegebene Image:
Erstelle den Container anschließend neu:
Teste nach jedem Update erneut eine kleine Datei zwischen zwei Geräten.
10. Typische Fehler¶
- Geräte sehen sich nicht: Prüfe, ob beide Browser wirklich dieselbe PairDrop-Adresse verwenden und Firewall oder WLAN-Client-Isolation die Verbindung blockiert.
- Port 3000 ist belegt: Finde den Dienst mit
sudo ss -ltnp | grep ':3000'oder ändere nur die linke Zahl, zum Beispiel auf3001:3000. - Übertragung über VPN scheitert: Viele VPN-Verbindungen blockieren WebRTC; entscheide bewusst zwischen eigenem TURN-Server und WebSocket-Rückfall.
- Bestimmte Browserfunktionen fehlen: Geräte-Paarung, PWA-Installation und Zwischenablage können HTTPS voraussetzen.
11. Quellen und Videos¶
- Offizielle Anleitung zum Selbsthosten von PairDrop
- Offizielle PairDrop-Compose-Datei
- Dokumentation des LinuxServer.io-Images
- Video: PairDrop vorgestellt
- Video: Dateiübertragung mit einer selbst gehosteten SnapDrop-Variante
Fertig¶
PairDrop ist jetzt im Heimnetz erreichbar. Öffne http://<server-ip>:3000 auf zwei Geräten,
übertrage eine kleine Testdatei und vergleiche Dateiname sowie Größe auf dem Empfänger. Wenn
beides stimmt, ist die lokale Übertragung einsatzbereit.