Before you start
Choose how browsers will open Floe:- Direct LAN access: two host ports on your Unraid IP, for example
http://192.168.1.10:3000for the client andhttp://192.168.1.10:3001for the signaling server. - One domain behind a reverse proxy: everything on
https://floe.example.com. This is the recommended layout for anything reachable outside your LAN. - Two hostnames behind a reverse proxy:
https://floe.example.comfor the client andhttps://floe-api.example.comfor the signaling server.
Direct LAN installation
1
Install Floe-Server
Install the Floe-Server template first. Keep Signaling Port at Keep Trusted Proxy Count at
3001
unless that host port is already used.Set Client URL to the URL that browsers will use for the client. With the
default client port, an example is:Client URL
0 for direct access.2
Install Floe-Client
Install the Floe-Client template. Keep Web UI Port at That value is the container’s
3000 unless it
conflicts with another container.Set Signaling Server URL to the full origin browsers use to reach
Floe-Server, including the scheme and the host port, with no trailing slash:Signaling Server URL
SOCKET_URL. The client hands it to the browser
from GET /api/config on every page load, so changing it later takes a
container restart and never a rebuild. See
How the Client Finds the Signaling Server.3
Open and test Floe
Open the Floe-Client Web UI. Confirm that the connection indicator is online,
then create a link and open it in a second browser or device.
One domain behind a reverse proxy
Put both containers behind a single hostname and there is no signaling address to keep in sync at all. Leave Floe-Client Signaling Server URL empty, and the browser talks to whatever origin served the page.- Proxy
https://floe.example.comto the Floe-Client host port for everything except the signaling paths. - Proxy
/socket.io/,/ws,/api/, and/healthto the Floe-Server host port. - Proxy
/api/configback to the client, as an exception to the/api/rule above. - Set Floe-Server Client URL to
https://floe.example.com. - Set Floe-Server Trusted Proxy Count to the number of proxy hops, which is
1for a single reverse proxy. - Leave Floe-Client Signaling Server URL empty.
/api/config on the client, are in
Run Floe Behind One Domain.
Two hostnames behind a reverse proxy
Browsers require HTTPS for production use outside your trusted LAN. Proxy the client and server separately, and enable WebSocket forwarding for the server.- Proxy the client hostname to the Floe-Client host port.
- Proxy the signaling hostname to the Floe-Server host port.
- Set Floe-Server Client URL to the public HTTPS client origin.
- Set Floe-Server Trusted Proxy Count to the number of proxy hops.
- Set Floe-Client Signaling Server URL to the complete public HTTPS server origin.
Template values
TURN relay
The default STUN-only configuration works on many networks. To support peers behind strict NAT or CGNAT, expand the advanced Floe-Server settings and add a Cloudflare Realtime TURN key. You can also run coturn separately and fill in the self-hosted TURN domain and secret. See TURN Relay.Container updates
Both templates follow thelatest image tag, which changes only when Floe
publishes a version tag. Use Unraid’s normal container update flow to pull a new
release. The containers store no files or application settings in volumes, so
there is no appdata directory to migrate. To pin a specific version or a digest
instead, see Container Images.