A domain name costs about fifteen dollars.there is almost certainly a dns server on your network. Users on the network are getting ip addresses from somewhere.
If you don’t want I do that then you can Google hire to set up BIND. And you’ll need to configure every machine on the network to use that name server rather than whatever they are using already using (probably by modifying the dhcp server if there really isn’t a local dns server).
You’ll need to find that information somewhere else, it’s far beyond the scope of what is available here. Given that you control that dhcp server, it would take me 2 to 5 hours and I have configured bind and dhcp before.
The recommended solution is to purchase a domain name. You will not be able to use Let’s encrypt to use https,but since it’s on s local network that’s probably OK.