A domain is not a hard requirement, but if you don't have one then people in web clients won't be able to connect.
IP by itself would work in a native client, I think, but who gets a static IP on their homes? And even then how do they expose their relay server through their home router?
Some peopl...