PairDrop è una soluzione open source e self-hosted che permette di trasferire file tra dispositivi direttamente dal browser, in modo semplice e senza dipendere da servizi esterni. Se cerchi un’alternativa ad AirDrop che funzioni anche su Windows, Linux, Android e altri sistemi, può essere una scelta molto interessante.
In questa guida vediamo come installare PairDrop con Docker Compose, come avviarlo correttamente e quali aspetti conviene conoscere fin da subito per usarlo al meglio in self-hosting.
Cos’è PairDrop
PairDrop è un tool di condivisione file peer-to-peer basato sul browser, pensato per semplificare il trasferimento rapido di file e testo tra dispositivi. Il suo funzionamento ricorda AirDrop, ma con il vantaggio di essere multipiattaforma e utilizzabile anche in self-hosting.
Uno degli aspetti più interessanti è che i file vengono trasferiti direttamente tra i browser dei dispositivi tramite WebRTC, mentre il server gestisce soprattutto la parte di segnalazione e scoperta dei peer.
Prerequisiti
Prima di iniziare ti servono solo pochi elementi:
- Un server Linux, un VPS oppure un mini PC, magari con Debian 13 o Ubuntu 26.04.
- Docker e Docker Compose già installati.
- Una cartella dedicata al progetto.
- Facoltativamente, un reverse proxy se vuoi utilizzare HTTPS con un dominio dedicato.
1. Crea la cartella di lavoro
Per prima cosa crea una cartella dedicata a PairDrop e spostati al suo interno:
mkdir -p ~/pairdrop
cd ~/pairdrop
2. Crea il file docker-compose.yml
Ora crea il file docker-compose.yml con questo contenuto:
services:
pairdrop:
image: lscr.io/linuxserver/pairdrop:latest
container_name: pairdrop
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- WS_FALLBACK=false
- RATE_LIMIT=false
- RTC_CONFIG=false
- DEBUG_MODE=false
- TZ=Europe/Rome
ports:
- "127.0.0.1:3000:3000"
Questa è una configurazione semplice e adatta alla maggior parte dei casi. PairDrop non richiede database né volumi obbligatori per partire, quindi l’installazione iniziale è molto leggera.
3. Avvia lo stack
Dopo aver salvato il file, puoi avviare il servizio con:
docker compose up -d
Per verificare che il container sia partito correttamente puoi usare:
docker ps
4. Apri PairDrop nel browser
A questo punto puoi aprire PairDrop dal browser all’indirizzo:
http://IP-DEL-SERVER:3000
Se lo stai eseguendo sulla stessa macchina, puoi usare anche:
http://localhost:3000
Aprendo lo stesso indirizzo su due dispositivi collegati alla stessa rete, questi dovrebbero rilevarsi automaticamente e consentire subito lo scambio di file. Dovresti infatti visualizzare una pagina così:

5. Variabili utili da conoscere
PairDrop supporta diverse variabili ambiente. Alcune sono particolarmente utili da conoscere già all’inizio:
- WS_FALLBACK: abilita un fallback via WebSocket quando WebRTC non è disponibile, ad esempio in alcune reti VPN o molto restrittive.
- RATE_LIMIT: può limitare il numero di richieste dei client, utile in ambienti pubblici.
- RTC_CONFIG: permette di definire un file JSON con configurazione STUN/TURN personalizzata.
- DEBUG_MODE: utile per test e debug, ma da non usare in produzione.
- TZ: consente di impostare il fuso orario del container.
6. HTTPS e reverse proxy
Se vuoi pubblicare PairDrop in modo più corretto, conviene metterlo dietro reverse proxy e servirlo in HTTPS. La documentazione ufficiale segnala infatti che su alcuni browser PairDrop deve essere servito tramite TLS per far funzionare correttamente alcune funzioni, come notifiche, PWA, pairing persistente e modifica del nome del dispositivo.
Inoltre, quando usi un proxy è importante inoltrare correttamente l’header X-Forwarded-For. Questo serve a evitare che tutti i client risultino visibili tra loro come se provenissero dallo stesso IP.
7. Trasferimenti tra reti diverse
Nel caso più semplice PairDrop funziona molto bene sulla stessa rete locale. Se però vuoi usare PairDrop anche tra reti differenti, la documentazione raccomanda di configurare un server TURN come ad esempio una VPN, magari con WireGuard.
Questa parte è facoltativa e più avanzata, quindi per una guida base puoi tranquillamente partire senza TURN. Per un utilizzo domestico o in ufficio sulla stessa LAN, l’installazione standard è spesso più che sufficiente.
Perché usare PairDrop
PairDrop è interessante perché consente di trasferire file senza installare app dedicate sui vari dispositivi e senza dover passare da servizi cloud di terze parti. È anche una soluzione molto più flessibile di AirDrop, dato che non è limitata all’ecosistema Apple.
Per questo motivo può essere una buona scelta sia in un homelab sia in un piccolo contesto professionale dove serve uno strumento rapido per condividere file in rete locale.
Considerazioni finali
PairDrop è uno dei software self-hosted più semplici da installare con Docker Compose, ma allo stesso tempo anche uno dei più pratici nell’uso quotidiano. In pochi minuti puoi avere un’alternativa ad AirDrop utilizzabile da browser e compatibile con più piattaforme.
Se cerchi un tool open source leggero, immediato e utile da tenere sul tuo server, PairDrop merita sicuramente attenzione.
FAQ
Cos’è PairDrop?
PairDrop è un software open source per trasferire file tra dispositivi dal browser, con un funzionamento simile ad AirDrop ma compatibile con più piattaforme.
PairDrop è self-hosted?
Sì, PairDrop può essere installato sul proprio server in self-hosting, anche con Docker Compose.
PairDrop salva i file sul server?
Nel funzionamento standard i file vengono trasferiti direttamente tra browser tramite WebRTC, quindi il server gestisce soprattutto la segnalazione dei peer, senza salvataggio di file.
Serve Docker Compose per usare PairDrop?
No, PairDrop può essere eseguito anche con Docker semplice o in altri modi, ma Docker Compose è uno dei metodi più comodi per iniziare rapidamente.
PairDrop funziona solo nella stessa rete locale?
Per l’uso più semplice sì, ma per trasferimenti tra reti diverse può essere necessario configurare un server TURN, come un collegamento in VPN.
È consigliato usare HTTPS?
Sì, usare HTTPS è consigliato sia per sicurezza sia perché alcune funzioni possono richiederlo su determinati browser, direi anche obbligatorio nel caso in cui tu voglia associarlo ad un dominio Internet pubblico.

