I’m going round in circles on this one.
What I want to do is:
- serve up my self-hosted apps with https (to local clients only - nothing over the open web)
- address them as ‘app.server.lan’ or ‘sever.lan/app’
- preferably host whatever is needed in docker
I think this is achievable with a reverse proxy, some kind of DNS server and self-signed certs. I’m not a complete noob but my knowledge in this area is lacking. I’ve done a fair bit of research but I’m probably not using the right terminology or whatever.
Would anyone have a link to a good guide that covers this?


It is absolutly possible, but oersonally I would highly recommend getting yourself a proper public domain for that,even if you won’t use it otherwise (it’s even somewhat saver if you use a designated one for it).
To make it really easy get the domain with someome who also provides DNS with it (Hetzner is a solid choice, so are others, has to have an API). (E.g. “mydomain.casa”.)
Now get an internal DNS server that can handle it’s own zones. I always recommend technitium, but there are other choices. Pihole is not a good choice here.
Next thing is a reverse proxy,as you mentioned. If you want it easy, NginxProxyManager is a good choice, but limits what one can do later. But it kind of works out of the box. Traefik and caddy are both often named,but I found none of them as “fire and forget” as NPM is - and caddy can’t do a lot of things either. Traefik is what I currently use,but even using Manatrae or similar GUIs it’s sometimes a pain. But it’s absolutely powerful especially when you run a lot of docker container on the same host. Tbh, if I had not some special requirements I would still use NPM.
Now, what to do? (Not a full manual, more like a ovrview that it’s not that complicated)
For good practice I would recommend to also keep a zone that links directly to the services so you can use that whenever necessary. (mydomain.internal)
Just curious, why is PiHole not a good choice here? I am using it for internal DNS management
Umm, wildcard certs from ZeroSSL seem to run at $52.99 per month, billed yearly. Free plan does not have those, neither does Basic.
Sorry, then proceed with LE. Got that part mixed up, you are totally rjght.
What advantages do you think the paid cert has over letsencrypt?
ZeroSSL has unpaid plans (for non wildcards) that have a few advantages that LE doesn’t:
And, first and foremost, they are European and it’s always good tk have an alternative ready.
But as said before, I totally missed the wildcard issue, as I haven’t touched these for a long time and recently had more to do with my public services (which get a ACME single domain cert via zeroSSL)