I’ve been building DropBridge: a small self-hosted web UI that streams files
straight from one machine to another over your Tailscale tailnet — no cloud, no
size limits, no one-shot upload caps, and folders keep their structure. It’s a single
~14 MB Go binary (stdlib-only, non-root) that runs on any Linux box with Docker +
Tailscale — and it’s first-class on ZimaOS/CasaOS (dashboard tile + data-disk picker),
which is where I run it.
What it does
- A live mesh console: every node with online-state, WireGuard link, telemetry
(disk, uptime, kernel) and real latency to each peer. - Drag-and-drop, machine-to-machine transfer — pick a target node, drop a file/folder,
it streams peer-to-peer. - Storage picker: choose exactly which data disk received files land on — it never
writes to the eMMC or a foreign (exFAT/NTFS) filesystem. - Presence/identity via your Tailscale login; a public one-click share link (funnel)
when you need to hand a file to someone off your tailnet. - Non-root, file-secret token, control plane is tailnet-only (LAN/Internet get 403).
Running it on ZimaOS — two things worth knowing
If your Tailscale is the App-Store app (it runs as a container):
- Expose its socket to the host — add a bind mount to the Tailscale app:
/var/run/tailscale -> /run/tailscale, then recreate it (AppID=tailscale). - DropBridge runs with
network_mode: host(the shipped compose already does this),
so it sees your real tailnet IP instead of the Docker bridge gateway — otherwise the
UI falls back to “demo mode / tailnet identity required”.
Iftailscaledruns as a native host service instead, it just works out of the box.
(Big thanks to Gelbuilding, who test-drove it on a ZimaCube Pro ↔ ZimaBoard and
found both of the above — the installer now checks for the host socket and prints the
fix automatically.)
Pull the prebuilt, signed multi-arch image (amd64 + arm64) — no build needed:
docker pull ghcr.io/chicohaager/dropbridge:0.2.0
docker compose -f docker-compose.ghcr.yml up -d
Release v0.2.0 (with the demo video + this ZimaOS test package attached):
Feedback very welcome — especially rough edges on real hardware.
About: built by Holger Kuehn (Virtual Services) — a computer scientist
(Diplom-Informatiker, the German master’s-equivalent in CS) and career systems
engineer (VMware vExpert, Microsoft Certified Professional, Oracle DBA).
DropBridge was built AI-assisted and deliberately so: every architectural decision,
the threat model, and the on-hardware verification were mine; the AI removed the
typing and served as a tireless review pair. That’s the opposite of “vibe coding”,
which ships whatever a model emits unread — here, only what a systems engineer stood
behind, tested on real nodes, shipped. A developer who refuses AI in 2026 isn’t more
of a craftsman — just slower; the craft moved up a layer, to judgment, architecture
and verification.

