I have installed the latest version of TrueNAS Scale, plus Tailscale and two other apps. The server can be reached via its name specified in TrueNAS in the local network and also via tailscale.
However, the two apps can only be reached via their port address, e.g. servername:30800. For the sake of simplicity, I would like to have so called subdomains like app1.servername and app2.servername.
How can this be achieved in the local network and is it also possible via tailscale? Thank you very much
I’m going to put tailscale to the side, as I’m just not sure how to best integrate it here. But for the local network…
There are two pieces to this, DNS and an ingress controller/reverse proxy. The first would ordinarily be managed by your router–you’d need to set app1.mydomain, app2.mydomain, etc. to all point to the IP address of your NAS.
The second piece is a reverse proxy, and the only option currently in the app catalog is Nginx Proxy Manager. Here’s how you’d set that up:
Another option for the reverse proxy is Traefik, but that’s going to be a custom app installation. But it can be configured using labels for the individual apps, which may be a benefit. I like Caddy as a reverse proxy, but it’d once again be a custom app.
That seems to be the biggest problem, my router is not able to do this. I would have to run my own DNS, maybe with PiHole or pfsens, to make this possible :-/
It would be a nice feature if the web server providing the TrueNAS Scale UI could do an http redirect to the containers.
You could do it in public DNS. I’m not really a fan of that method, but there’s no inherent reason you can’t put a private IP address in public DNS. But yes, local DNS is really the way to do this.
That wouldn’t help you–you still need your DNS to point the hostname there.