Skip to main content

06-pairdrop.md

kstack: book: Centerpoint Home Lab chapter: Utilities page: PairDrop tags: [pairdrop, file-sharing, webrtc, lan]

Overview

emptyPairDrop is a local network file sharing app inspired by Apple AirDrop. It uses WebRTC for peer-to-peer file transfers between devices on the same LAN session. No accounts, no file storage on the server — files transfer directly between browsers. Internal-only access.

Access

Type URL Auth Internal https://pairdrop.home.local None (LAN only)

Configuration

Image: lscr.io/linuxserver/pairdrop:latest

Environment Variables

Variable Value Purpose TZ America/Toronto Timezone PUID 1000 User ID PGID 1000 Group ID WS_FALLBACK false WebSocket fallback (disabled) RATE_LIMIT false Rate limiting (disabled for LAN) RTC_CONFIG false External STUN/TURN (not needed on LAN) DEBUG_MODE false Debug logging

Traefik Labels

traefik.http.routers.pairdrop.rule: Host(`pairdrop.home.local`)
traefik.http.routers.pairdrop.entrypoints: websecure
traefik.http.routers.pairdrop.tls.certresolver: step-ca
traefik.http.services.pairdrop.loadbalancer.server.port: 3000

Volumes / Bind Mounts

None — fully stateless. Files are transferred peer-to-peer and never stored on the server.

Notes / Gotchas

    PairDrop discovers peers in the same "room" — by default, all users behind the same NAT/gateway appear to each other. On a home LAN this means all devices on the network can see each other. RTC_CONFIG=false is correct for LAN use — no external STUN/TURN server is needed when all peers are on the same network. For Tailscale peers to use PairDrop, they would need a TURN server since Tailscale creates separate subnets. Current config is LAN-only.

    Last Updated: 2026-06-17