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
.envfile) 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:
--portor-P
Configures the http listening port.
- Default:
3000
CLI flag:
--protocols
Configures the listening wire protocols.
- Default:
http - Options:
http, more soon.
CLI flag:
--verbosityor-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
