Batteries included multi-protocol WebRtc communications backend. ๐ถ๐
Scaling WebRTC can be tricky - there are many moving parts and services required to establish a basic call. Even in the best conditions, these components can be tough to understand and hard to manage. This project aims to help reduce the burden of maintaining an application-specific service that facilitates WebRTC session establishment and ongoing message handoff. It has three goals:
- Be easy to run, both locally and in the cloud
- Be easily understood and monitored at runtime
- Support multiple configurations out of the box
- Download the latest binary release for your os.
- Run it ๐
Note: When using environment variables (or a
.env
file) names must be prefixed withTRUNKLINE_
- for example:TRUNKLINE_PORT=3000
.
trunkline can be configured at runtime, using environment variables, a .env
file, or CLI arguments. The supported values are listed below:
CLI flag:
--database
Configures the backing database type.
- Default:
memory
- Options:
memory
,sql
CLI flag:
--port
or-P
Configures the http listening port.
- Default:
3000
CLI flag:
--protocols
Configures the listening wire protocols.
- Default:
http
- Options:
http
, more soon.
CLI flag:
--verbosity
or-V
Configures the logging verbosity.
- Default:
info
- Options:
trace
,debug
,info
,warn
,error
,fatal
,silent
The protocol-specific API surfaces that trunkline supports.
- OpenAPI Visualized: Redoc
- OpenAPI Raw: http-swagger.yml
GPL-3.0