Nip5 is the way you verify your Nostr account. I think the idea is that once configured, you can give people your nip5 instead of your public key, which is ridiculously long, so they can find you. If you self host your nip5 configuration it also proves who you are i.e. that your account was created by the person that controls your domain name. That's the theory. In practice I've found it to be quite confusing to setup.
My nostr nip5 should be: [email protected]
Confusingly it looks like an email address, but it's not an email address.
Once you get past the ambiguities in the instructions, it basically boils down to putting a file containing some json formatted text on a server accessible at a known path and add it to a domain name that you control. The difficult part is that it's not very obvious what text exactly you have to put in the file. You have to add your 'name', but your Nostr profile has 3 fields that look like names.
Here is my nip5 config. As far as I can tell it's in the right place, has my domain name configured, is accessible to all clients, and has the correct mime type.
Also once you have it all configured, it's not obvious how to check that you have it correctly configured. I'm using a Nostr client called Damus and when I open it, my username has a tick next to it, but I seem to remember that tick was always there. I don't see my domain name anywhere, so it's not clear whether it's setup correctly.
According to nostr.band my nip5 isn't showing up in searches. I guess that means it's not configured correctly.
So much faffing about. I've literally spent around 8 hours at this point. That's ridiculous. How do they ever expect regular non techie people to get onto Nostr?
Update: Discovered that I hadn't merged the feature branch into main so the config was there but only on the staging server. It should be in production shortly.