y-webrtc icon indicating copy to clipboard operation
y-webrtc copied to clipboard

Use existing (3rd party) signaling server implementation

Open WofWca opened this issue 2 years ago • 2 comments

Checklist

  • [x] Are you reporting a bug? Use github issues for bug reports and feature requests. For general questions, please use https://discuss.yjs.dev/
  • [x] Try to report your issue in the correct repository. Yjs consists of many modules. When in doubt, report it to https://github.com/yjs/yjs/issues/

Is your feature request related to a problem? Please describe. Currently y-webrtc uses a custom server for signaling. I think this is not ideal because it's a comparatively niche thing. Sometimes public servers go down (#43), creating a big headache for app developers that now have to set up a new server (that might go down as well). Having a custom server also adds maintenance costs.

Describe the solution you'd like Rely on another existing server that can be used for signaling. For example, https://github.com/peers/peerjs-server. Or, I heard, you can use https://github.com/centrifugal/centrifugo for signaling (there is a concept of rooms (channels) as well).

Describe alternatives you've considered

None

Additional context

I'm not 100% sure this is a good idea, and I didn't look into details of how the current signaling server works, or how Centrifugo works. It's just a high-level idea that I think it makes sense to strive for.

WofWca avatar Aug 29 '23 08:08 WofWca

I had the same concerns and went ahead by creating a Rust-based signaling server here. You can host it for free on fly.io. I'm currently using it for my app and I expect to maintain it in the future.

Posting it here in case anyone is interested :)

ngryman avatar Oct 24 '23 12:10 ngryman