this post was submitted on 25 Oct 2025
59 points (96.8% liked)

Selfhosted

59973 readers
399 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam.

  3. Posts here are to be centered around self-hosting. Please ensure it is clear in your post how it relates to self-hosting.

  4. Don't duplicate the full text of your blog or git here. Just post the link for folks to click.

  5. Submission headline should match the article title.

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] philpo@feddit.org 18 points 7 months ago (2 children)

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)

  1. Install all of the above on docker.
  2. Setup NPM with a wildcard certificate, register with zerossl.com (has advantages over LetsEncrypt), add them as a provider and get a wildcard(!) certificate. (*.yourdomain.casa).
  3. Setup a proxy host. You simply add the domainname (nextcloud.mydomain.casa),point it to the actual container ("192.168.1.10:3000) and choose the wildcard certificate as a SSL and switch on "force SSL".
  4. Go to the DNS server, create a DNS zone "mydomain.casa" and then simply add "nextcloud.mydomain.casa" and point it to the Reverse proxy IP. Done.

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)

[–] archy@lemmy.world 5 points 7 months ago

Just curious, why is PiHole not a good choice here? I am using it for internal DNS management