Skip to content

techtruth/SignalSalad

SignalSalad

Provides signaling control plane for mediasoup, scalable ingress/egress media services, plus Terraform + GitHub Actions deployment workflows for popular cloud providers.

It is designed to be readable, testable, and operable for multi-peer rooms, with explicit diagnostics for join, transport, and media fanout failures.

Current release line: 0.1.0-alpha.1 (first public prerelease).

Prerelease Feedback Request

This is a prerelease, and feedback is actively requested from anyone interested in the project.

Feedback is welcome on architecture and design decisions, implementation approach, scaffolding, documentation clarity, and overall project direction. Please use GitHub Discussions for feedback, including philosophical discussions and codeless suggestions.

Alternate Software

If SignalSalad is not the right fit for your use case, there are strong alternatives:

  • Cloudflare WebRTC
  • LiveKit (pion based)
  • Edumeet (also mediasoup-based)
  • FrameVR.io (3D world media chat)

Repository Structure

  • signaling/: websocket + netsocket coordination server
  • media/: ingress/egress media server processes
  • webapp/: debug UI and browser client harness
  • types/: shared signaling/media payload contracts
  • docs/: architecture, testing, operations, and troubleshooting
  • containerization/: local Docker Compose stack
  • infrastructure/: cloud deployment modules and scripts

Quickstart (local development)

Requirements:

  • Node.js
  • npm
  • Docker + Docker Compose
  1. Run local stack (canonical).
make dev

Optional direct compose command:

cd containerization
docker compose up webapp signaling ingress egress

Developer Commands

  • make dev: start full local compose stack
  • make down: stop local compose stack
  • make test: run signaling integration + runtime + media unit tests
  • make lint: lint signaling/media/webapp
  • make typecheck: typecheck signaling/media/webapp
  • make docs: generate typedocs for signaling/media/webapp
  • make dev-deps: install signaling/media/webapp dependencies

Project Intent

Acknowledgements

Special thanks to the mediasoup maintainers and contributors for building and sustaining an exceptionally stable foundation for realtime media systems.

SignalSalad depends on that work, but it is an independent project and is not endorsed by or affiliated with the mediasoup project or its maintainers.


Documentation Index

Architecture and Design

Testing and Verification

Generated API Docs

Generated by make docs under docs/generated/:

About

WebRTC stack providing a signaling control plane for scaling mediasoup, demo webapp, and ci/cd workflows

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors