Estimated reading time: 6 minutes

Do you know the situation? You want to quickly send a file from your cell phone to your laptop or send something to a friend at home - but the file is too big for WhatsApp, email is too cumbersome and AirDrop only works on Apple devices. 🙄

Here comes PairDrop comes into play - a free, open and super-practical solution that allows you to simply via browser between all devices. Without any login, app or cloud.

For detailed instructions and an explanation of all configuration options, I recommend the YouTube video linked below. In this video, every single setting is explained in detail so that you receive comprehensive instructions for the exact setup. You can find any code from the video in this article so that you can use it directly without having to type it in.

This blog post and video is part of a series in which we create and set up our own home server. We start with the basics such as an Ubuntu VM installation with Docker and then continue with the configuration of our own domain, security precautions and, above all, lots of cool and useful self-hosted services. Whether media servers like Plex or Jellyfin or document management like Paperless-NGX. Together we'll build the setup you want to see. We even tackle topics such as single sign-on (SSO) together.

🔍 What is PairDrop?

PairDrop is an open source tool that is very similar to AirDrop - but works independently of the device. It uses the technology of Peer-to-peer (P2P)to transfer files directly from one device to another. Without a detour via a server.

✅ The advantages of PairDrop at a glance

  • Platform-independentWhether Android, iPhone, Windows, macOS or Linux - PairDrop works wherever a modern browser is running.
  • No registration: You don't have to register anywhere.
  • No cloud compulsion: Your file will not be saved in the cloud.
  • Quick and easySelect file, click on recipient, send.
  • Faster than cloud servicesbecause no uploads are necessary.
  • Open Sourceso completely transparent and ad-free.
  • SafeTransmission is direct and encrypted.

🛠️ How it works:

  1. Open https://www.pairdrop.net on both devices in the same WLAN / network.
  2. The devices recognize each other automatically via mDNS/broadcast.
  3. Select the recipient, drag in a file - done.
    The transfer takes place Direct and localwithout cloud detour.

👉 Tip: You can also Texts or links share - perfect if you want to quickly transfer an article from your cell phone to your PC, for example.

⚙️ How does Pairdrop work?

The magic behind Pairdrop is called WebRTC.
This technology enables a Direct peer-to-peer connection between browsers - i.e. between you and your other device. This means that no files are uploaded to external servers.
This means:

  • Your data remains private.
  • The transmission is local and fast.
  • No installation is required.

Differences compared to Snapdrop

Since PairDrop is a fork or a further development of Snapdrop, it provides some improvements:

  • Persistent pairing: devices recognize each other even after restarts
  • Public spaces & better support for network boundaries
  • Enhanced UI/UX, context menu integration, support for share menus on mobile devices

❗ Important restriction

PairDrop only works in the local network.
Even if you use the public web app at pairdrop.net, there is no connection via the Internet.
Devices must be in the same network (e.g. via WLAN or LAN), otherwise they will not see each other. However, you can also make this possible via a VPN network over a distance. However, the performance depends on the VPN.

🌍 Use Pairdrop via the Internet

You are not in the same WLAN? No problem!
Pairdrop also offers the option, via the Internet to share files. To do this, simply share the generated Room link (e.g. pairdrop.net/#abcdef) with your counterpart. Both open the same link - and it works even over long distances. You can also see this in the video.

Of course, this takes a little longer than in the local network, but it is still much less complicated than a cloud upload.

Installation via Docker

To run PairDrop permanently in the local network, you can use it conveniently with Docker and docker-compose install. The prerequisite is a functioning Docker host (e.g. a Linux server, NAS, Raspberry Pi or VM) with Docker and Docker Compose.

You can use the following docker-compose.yml:

services:
  pairdrop:
    image: lscr.io/linuxserver/pairdrop
    container_name: pairdrop
    networks:
      - sascha
    environment:
      TZ: Europe/Berlin
      RATE_LIMIT: false
      WS_FALLBACK: true
      RTC_CONFIG:
      DEBUG_MODE: false
      PUID: 99
      PGID: 100
      UMASK: 022
    ports:
      - 3005:3000
    healthcheck:
      test: wget -nv -t1 --spider http://localhost:3000/ || exit 1
      interval: 1m
      timeout: 10s
      retries: 3
    restart: unless-stopped

networks:
    sascha:
      external: true

The provided docker-compose.yml uses the official LinuxServer.io image lscr.io/linuxserver/pairdrop and starts the container under the name pairdrop. The network mode is set to the external network sasha so that the container can communicate with other services in the same network.

The environment variables set the time zone (TZ) to Europe/Berlin, deactivate rate limiting and WebSocket fallbacks, switch off debug mode and define user and group IDs (PUID/PGID) so that file permissions work correctly. The port 3000 in the container is mapped to port 3005 of the host - this means that you can reach PairDrop later under http://dein-server:3005.

An integrated health check regularly checks whether the service is available and automatically restarts the container in the event of problems. Thanks to restart: unless-stopped the service remains active even after a reboot as long as you do not stop it manually. Ideal for a stable PairDrop installation in the home network.

Tips

When self-hosting PairDrop, you will be confronted with some typical hurdles - here are my tips:

ProblemCause / NoteSolution
Devices do not see each otherIncorrect networks (different subnets) or firewall blocks WebRTCCheck that ports and protocols are open, configure STUN/TURN correctly if necessary
No connection via the InternetNAT, firewall, incorrect relay configurationUse your own TURN server, set RTC_CONFIG correct
Port conflictsContainer or host already uses port 3000Change or map ports (e.g. 4000:3000) and adjust proxy
Uncertain public authorityOpen on the network without authenticationAdd authentication via reverse proxy or web server middleware
Connection interruptions / instabilityBrowser problems, network fluctuationsTest with other browsers, activate WebSocket fallback (WS_FALLBACK=true)

YouTube video implementation

🧠 Conclusion

PairDrop is the perfect solution for fast file transfers in the home or office network - without any app, account or cloud.
Ideal for technically interested people who don't want to hand over their data - and simply want to work efficiently.

🔗 Useful links

The product display was implemented using the affiliate-toolkit WordPress plugin.

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

en_US