I built a custom solution based on y-websocket that handles multiplexing and syncing multitudes of Ydocs at once; a single YDoc is not really enough for complex apps. I run the server myself; originally on GKE because I was learning it for work, but then once I went FT on LegendKeeper, k8s became super-overkill minus the learning context. Finally switching to Render after tiring of fighting weird K8s internal DNS issues.