Embedded signaling server
Accepts WebSocket signaling for Beam sessions.
Deployment
Beam’s server side currently combines signaling, UDP relay, a control-plane API, and WebRTC signaling. The production requirement is not a generic website host alone; it is a network stack with the right TCP and UDP exposure.
| Service | Default | Notes |
|---|---|---|
| Signaling | 8765/tcp |
WebSocket signaling endpoint for the desktop app and server bridge. |
| Relay | 8767/udp |
UDP relay port used by Beam peers. |
| Control-plane API | 8770/tcp |
REST API for sessions and join token lifecycle. |
| WebRTC signaling | 8771/tcp |
Browser-facing signaling surface for WebRTC viewer flows. |
| WebRTC media range | 49200-49260/udp |
Media and ICE port range expected by the server configuration. |
| Variable | Purpose |
|---|---|
SCREENSHARE_SIGNALING_PORT |
Overrides the TCP signaling port. |
SCREENSHARE_RELAY_PORT |
Overrides the UDP relay port. |
SCREENSHARE_API_PORT |
Overrides the REST API port. |
SCREENSHARE_RTC_PORT |
Overrides the WebRTC signaling port. |
SCREENSHARE_RTC_PORT_MIN |
Start of the WebRTC media port range. |
SCREENSHARE_RTC_PORT_MAX |
End of the WebRTC media port range. |
SCREENSHARE_STUN_URL |
STUN server used for ICE candidate gathering. |
SCREENSHARE_PUBLIC_HOST |
Public hostname clients should use for API, signaling, and relay responses. |
SCREENSHARE_API_KEYS |
Comma-separated API keys accepted by the control-plane API. |
SCREENSHARE_PUBLIC_HOST to the hostname clients will actually reach.