Deployment

Run Beam as a public relay-backed screen sharing service.

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.

Core server components

Embedded signaling server

Accepts WebSocket signaling for Beam sessions.

UDP relay

Handles relay traffic so sessions can traverse ordinary networks.

Control-plane API

Creates sessions and returns join metadata to external systems.

WebRTC signaling

Supports browser-facing session entry and media negotiation.

Default server ports

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.

Environment variables

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.

Deployment checklist

  • Expose the required TCP and UDP ports through your ingress or firewall.
  • Set SCREENSHARE_PUBLIC_HOST to the hostname clients will actually reach.
  • Keep the media port range aligned with your NAT and firewall rules.
  • Run the public site separately from the Beam service binaries when needed, but keep docs aligned with the real service topology.
  • Store API keys outside the website content and outside hardcoded client-side files.
Beam’s public docs intentionally describe the production model without exposing private infrastructure internals or sensitive access details.