floe.one. The setup uses Docker Compose so the full stack comes up with a single command.
What you are hosting
The signaling server brokers WebRTC connection setup (offer, answer, ICE candidates) and issues short-lived TURN credentials. File data never passes through it. Transfers go peer-to-peer over encrypted WebRTC data channels. TURN is optional and only relays (still encrypted) traffic when a direct connection is not possible.Components
Those are the ports inside the containers. In production you normally put both
behind a single domain, so your users never see either one. See
Reverse Proxy.
Contents
Quick Start
Get the stack running with Docker Compose in minutes.
Container Images
The prebuilt images on ghcr.io: tags, pinning a version or digest, and supported architectures.
Configuration
Environment variable reference for all settings.
Reverse Proxy
Serve the client and signaling server from one domain, with Caddy and nginx examples.
Production Deployment
HTTPS, custom domains, and the two-subdomain layout.
TURN Relay
Use Cloudflare’s managed TURN or add coturn to support peers behind strict NAT or CGNAT.
Operations
Day-to-day commands, updates, and health checks.