Certificate for public IP without domain name

This is correct - you cannot issue a certificate for an IP address through Let’s Encrypt. That is a policy decision that has been made by Let’s Encrypt due to a large number of security and practicality implications surrounding how IP addresses are allocated as opposed to how domain names are allocated. There are several commercial certificate authorities who do offer certificates covering IP addresses, if you have an absolute requirement for such a certificate, but you will not be able to do so with Let’s Encrypt. As the Certbot error message explains, you must provide a domain name ending in a public suffix, that is to say something like .com, .net, .us, etc.

2 Likes