Instant file sharing from your terminal - share files over LAN with a simple command
1.8K
Instant file sharing from your terminal. Serve a directory over your local network with one command: get a URL, a memorable three-word password, and a QR code your phone can scan.
Mount the directory you want to share at /data, publish a port, and pass your machine's LAN IP to --public-host, like this:
docker run --rm -p 8000:8000 -v /path/to/share:/data itsloopyo/qrdrop:latest --public-host 192.168.1.50
--public-host matters: a container can only see its own internal IP (something like 172.17.0.2), so without it the Network URL and QR code point at an address no phone can reach. Find your LAN IP with ipconfig (Windows), ipconfig getifaddr en0 (macOS), or ip addr (Linux). -e QRDROP_PUBLIC_HOST=192.168.1.50 works too.
The startup banner, including the generated password and QR code, goes to the container logs, so run in the foreground or check docker logs.
latest: most recent releaseX.Y.Z: specific release versionsImages are built for linux/amd64 and linux/arm64.
Any qrdrop flag can be appended to docker run:
docker run --rm -p 9000:8000 -v "$PWD:/data" itsloopyo/qrdrop:latest --public-host 192.168.1.50:9000 --password correct-horse --readonly
Options:
--public-host HOST[:PORT]
Address to advertise in the Network URL and QR code.
Required for the QR code to work in Docker, where the
auto-detected IP is the container's (env: QRDROP_PUBLIC_HOST)
--password TEXT Use specific password instead of generating one
--hide-dotfiles Exclude files starting with '.' from listings
--upload Restrict writes to uploads only (no deletions or directory create/rename)
--readonly Disable all writes; browse and download only
--timeout SECONDS Expire sessions after this many seconds (default: sessions
last until the server stops)
-q, --quiet Suppress startup banner
QRDrop allows full access by default (uploads, deletions, and renames). Restrict it with --upload (uploads only) or --readonly (no writes).
-p <port>:8000; don't use --port.--public-host (or -e QRDROP_PUBLIC_HOST=...) with your host's LAN IP — and the published port, if it isn't 8000 (e.g. --public-host 192.168.1.50:9000). Without it the QR code encodes the container's internal address, which other devices can't reach.--readonly to serve without writes)./health endpoint.uvx qrdrop / pip install qrdropMIT
Content type
Image
Digest
sha256:4b2502e65…
Size
18 MB
Last updated
4 months ago
docker pull itsloopyo/qrdrop