Snapdrop - A Self Hosted Airdrop Alternative

Share files quickly between devices using the self hosted Snapdrop. The Apple Airdrop alternative. 🍎

Snapdrop - A Self Hosted Airdrop Alternative

When I switched to Android devices form iOS a while back, I found myself missing a feature I no longer had and that was Airdrop. This gave me the ability to send files to other iOS devices that were nearby. This was a key feature to my workflow because I used multiple devices and used this feature to transfer photos, audio files and more. I could no longer do this on Android and it was quite disappointing.

Then I discovered Snapdrop. A Progressive Web App that acts the same way as Airdrop, allowing you to visit the link and share files between devices.

What is Snapdrop?

Snapdrop: local file sharing in your browser. Inspired by Apple's Airdrop.

GitHub - RobinLinus/snapdrop: A Progressive Web App for local file sharing
A Progressive Web App for local file sharing . Contribute to RobinLinus/snapdrop development by creating an account on GitHub.

Install Snapdrop using Docker Compose

You can use the following Docker Compose stack to install Snapdrop. If you do not need Nginx, simply remove it from the stack.

version: "3"
services:
  node:
    image: "node:lts-alpine"
    user: "node"
    working_dir: /home/node/app
    volumes:
      - ./server/:/home/node/app
    command: ash -c "npm i && node index.js"
  nginx:
    build:
      context: ./docker/
      dockerfile: nginx-with-openssl.Dockerfile
    image: "nginx-with-openssl"
    volumes:
      - ./client:/usr/share/nginx/html
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
      - ./docker/certs:/etc/ssl/certs
      - ./docker/openssl:/mnt/openssl
    ports:
      - "8080:80"
      - "443:443"
    env_file: ./docker/fqdn.env
    entrypoint: /mnt/openssl/create.sh
    command: ["nginx", "-g", "daemon off;"]
💡
Snapdrop works best using SSL behind reverse proxy

Final Notes and Thoughts

Snapdrop has been around for nearly 3 years and has been actively maintained ever since. It's a great solution to quickly transfer files between devices on the fly.

If you find Snapdrop useful, be sure to visit the Snapdrop Github repo and give the project a star! Leave your thoughts and comments below!