Can Ingress be Used Locally?

indivision

Guru
Joined
Jan 4, 2013
Messages
806
Hello. I'm trying to set up the Homepage integration that works with many Truecharts apps.

However, many of these are local apps. So, I don't have Ingress enabled for them and the Homepage integration requires Ingress.

Is there a way to set up Ingress to work locally?
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Is there a way to set up Ingress to work locally?
Sounds like an application for the external service app; following the same procedure you'd use to put the TrueNAS UI itself behind Traefik:

But according to this, external services don't (yet, anyway) integrate with Homepage, so that wouldn't really do what you want:
...though with that said, the TrueNAS UI is showing up in Homepage for me using the external service, so it may be that limitation is no longer applicable.

The suggestion I've seen (but haven't tried myself as yet) is to use the codeserver add-on to Homepage and directly edit its config file. That would let you add your apps to Homepage without the k3s integration.
 

indivision

Guru
Joined
Jan 4, 2013
Messages
806
Thank you.

I don't want to expose the TrueNAS GUI that way.

I'm not sure how to interpret that comment in the truecharts link about external services. Probably just remote connections? FWIW, applications that can be reached remotely through Traefik Ingress appear to be the only apps that homepage can be enabled for.

I do know about the manual configuration option. That's how I've been using it so far. But, given that I somewhat regularly add/remove an app, I would prefer the integration method since it removes a step. Also, I like the "running" notification connected to kubernetes over the ping time alternative.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
I don't want to expose the TrueNAS GUI that way.
First, nothing in that guide "exposes" the TrueNAS GUI in any way. Second, and more to my point, the same procedure would work with anything else--so if you have a local app at port 9898 on 192.168.100.103, point the external service app to that IP/port.

I'm not sure why you're associating Ingress with "can be reached remotely"--unless you're using that phrase very differently than I'm understanding it, or you've done other things you haven't mentioned like forwarding ports 80/443 to your Traefik instance, those are two completely unrelated things. I've configured Ingress for almost all of the apps I'm running, and most of them appear on Homepage, but none of them are accessible from outside my LAN.
 

indivision

Guru
Joined
Jan 4, 2013
Messages
806
First, nothing in that guide "exposes" the TrueNAS GUI in any way.

I didn't mean that to be an insult. The guide appears to be referring to how to "expose" the GUI to web access via a theoretical sub-domain.

Second, and more to my point, the same procedure would work with anything else--so if you have a local app at port 9898 on 192.168.100.103, point the external service app to that IP/port.

I see. Though, for this to work I would need to create a separate external-services app install for each local app?

I'm not sure why you're associating Ingress with "can be reached remotely"--unless you're using that phrase very differently than I'm understanding it, or you've done other things you haven't mentioned like forwarding ports 80/443 to your Traefik instance, those are two completely unrelated things. I've configured Ingress for almost all of the apps I'm running, and most of them appear on Homepage, but none of them are accessible from outside my LAN.

I'm associating Ingress with "can be reached remotely" because that is exactly what it is associated with in every app context guide/tutorial I've seen.

That said, I have no reason to doubt that it has some other technically correct use/meaning.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Though, for this to work I would need to create a separate external-services app install for each local app?
That's how I'd understand it. Each gets its own FQDN for Ingress, each points to its own IP/port combination.

As to the question of external access, I wouldn't have any idea what the most common use of the Ingress feature is, even within the context of TrueNAS and the TrueCharts apps, but it certainly doesn't require access from the outside world--and if you don't forward 80/443 to your Traefik instance, it won't do that. I suspect--though I could certainly be wrong--that it's mostly used as I use it, which is as a TLS-terminating reverse proxy for your apps, most (though not necessarily all) of which would be running on the NAS itself.
 

indivision

Guru
Joined
Jan 4, 2013
Messages
806
That's how I'd understand it. Each gets its own FQDN for Ingress, each points to its own IP/port combination.

Thank you. I appreciate the solution. For me, I think I'll just keep wrestling the config file rather than add those additional apps.

As to the question of external access, I wouldn't have any idea what the most common use of the Ingress feature is, even within the context of TrueNAS and the TrueCharts apps, but it certainly doesn't require access from the outside world--and if you don't forward 80/443 to your Traefik instance, it won't do that. I suspect--though I could certainly be wrong--that it's mostly used as I use it, which is as a TLS-terminating reverse proxy for your apps, most (though not necessarily all) of which would be running on the NAS itself.

Thank you for the clarification. Good to know. My experience with that particular term is limited to working with Truecharts apps.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
I think I'll just keep wrestling the config file rather than add those additional apps.
Yeah, I'm not sure editing the config file is more work than installing another instance of the external service app and configuring its Ingress settings appropriately.

Edit: put differently, and maybe more clearly, I'm not sure my suggestion would be any less work than what you're currently doing--unless you wanted the TLS termination feature as well.
 
Top