I have a bunch of services running on my LAN, mostly from a single Debian machine. I access them at URLs like http://devicename.lan:portnumber. I would like to change to http://servicename.devicename.lan.
How it works now: The router (openwrt) sets a static IP per device and the port number is selected by the application or system unit running it.
What is the absolute simplest way to accomplish this? I don’t mind if it is managed by the router or by the server machine itself. Hoping for something that can be configured with a text file or web interface or other basic mathod.
These sevices are private, just for me and I have no plans to ever access them externally. I have so far avoided any certificates or SSL or other stuff. I don’t use docker and would rather not get into it right now. I like my domain name setup how it is with fake local domains.
Hoping this could be possible without making a whole project out of it.


I have that exact setup. Let’s suppose you want to use layzer.lan as your domain. The way I did it:
Make a DNS record that maps *.layzer.lan to your private IP (let’s say it’s is 192.168.0.10). You can do this by either manually editing your local DNS resolver config file, or hosting a DNS server and adding a a new entry. I did the later, and chose AdGuard for that. Either option will make your PC underestand that going to any subdomain *.layzer.lan means going to 192.168.0.10.
Use a reverse proxy. I use nginx-proxy-manager, and added a proxy host for each service you want to access with the link. For example, for my Immich server that is running in port 30041, I added a proxy host such that http://immich.layzer.lan/ takes you to http://192.168.0.10:30041/. Ports 80 and 443 have to be free for nginx to take. You can also add https support from here, and it’s very easy to do if you have bough a real domain.
Offtopic; I just noticed that on my Lemmy Android client you appear as laserjet, but on web you appear as layzerjeyt lol. Any idea why?
A video showing this setup https://youtu.be/qlcVx-k-02E?is=lrO69gayyHk3m7Vc
on dbz there is a setting to change your display name. not every instance enabled that option. but it’s how you see people with emojis, punctuation and stuff in their display names. not every client displays it. like some of the android clients don’t show avatars either. My handle is @laserjet@lemmy.dbzer0.com