Using Official Apps with Ingress + Reverse Proxy to other services

victort

Guru
Joined
Dec 31, 2021
Messages
973
Is there any way within SCALE to use the official apps with Traefik or some other built in ingress controller to allow the use of only a domain, instead of a domain with a port number to access?

The reason I ask is tha I would like to use official apps (Nextcloud, Vaultwarden) as opposed to Truecharts apps because of some issues I'm having. Specifically that Truecharts Vaultwarden app will not deploy at all while using hostpath for storage, but the official app works fine.

Also with the official Nextcloud app it is possible to delete the app, and reinstall it while simply pointing the hostpath storage back at your existing data. With Truecharts this is not exactly possible without having to do some manual work to migrate or mount the data.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Is there any way within SCALE to use the official apps with Traefik or some other built in ingress controller to allow the use of only a domain, instead of a domain with a port number to access?
You should be able to do this using the (TrueCharts) external service app, much like they document for accessing the GUI itself:
 

Chubblez

Cadet
Joined
May 16, 2023
Messages
2
Is there any way within SCALE to use the official apps with Traefik or some other built in ingress controller to allow the use of only a domain, instead of a domain with a port number to access?

The reason I ask is tha I would like to use official apps (Nextcloud, Vaultwarden) as opposed to Truecharts apps because of some issues I'm having. Specifically that Truecharts Vaultwarden app will not deploy at all while using hostpath for storage, but the official app works fine.

Also with the official Nextcloud app it is possible to delete the app, and reinstall it while simply pointing the hostpath storage back at your existing data. With Truecharts this is not exactly possible without having to do some manual work to migrate or mount the data.
To make sure I understand what you're asking:

https://server.domain.tld should display the TrueNAS scale UI
https://nextcloud.domain.tld should show NextCloud
https://vaultwarden.domain.tld should show Vaultwarden

All via one IP address, and only using official apps. Is that correct?
 

victort

Guru
Joined
Dec 31, 2021
Messages
973

Chubblez

Cadet
Joined
May 16, 2023
Messages
2
Correct.

And using the external-services app is the way to do it.
I'm trying to get the same thing setup, though I may be adding complications.

Vault Warden - vlan 1 - custom SSL certificate
Next Cloud - vlan 1 - will require Active Directory access - custom SSL certificate
Plex / Emby - vlan 1 - will stay on their preferred service ports
Home Assistant - vlan 2

In my case, I'm fine assigning separate IP's to the service to match a DNS entry, but Vault Warden and Next Cloud have to present to the apps over 443.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
If you're not using any TrueCharts apps and only official ones, I would suggest using the community app "nginX Proxy Manager" for ingress control.
 

victort

Guru
Joined
Dec 31, 2021
Messages
973
You can still use Traefik if you want. My setup is similar to this video

I have one IP serving my TrueNAS GUI and one IP for the Apps. With Traefik or nginx, it doesn't matter which port you set the services to run on. That's the idea behind a reverse proxy. You just need to configure your DNS entries to point to the proxy, and the proxy then takes the domain and redirects it to the proper IP/port.

The difference is that to use official apps (and other services) you need to use another Truecharts app called “external-services”
This allows you to configure everything with Traefik. Just fill in your domain, port, and cert to use just like you would in the other Truecharts apps.
 
Last edited:

Darren David

Explorer
Joined
Feb 27, 2014
Messages
54
You can still use Traefik if you want. My setup is similar to this video

I have one IP serving my TrueNAS GUI and one IP for the Apps. With Traefik or nginx, it doesn't matter which port you set the services to run on. That's the idea behind a reverse proxy. You just need to configure your DNS entries to point to the proxy, and the proxy then takes the domain and redirects it to the proper IP/port.

The difference is that to use official apps (and other services) you need to use another Truecharts app called “external-services”
This allows you to configure everything with Traefik. Just fill in your domain, port, and cert to use just like you would in the other Truecharts apps.
I like this idea of using a separate IP for the Apps. Are you configuring a second IP on a second NIC, or are you doing this virtually?

Also, should it matter if I'm running nginx on another machine, or does it need to be running on the same machine as TrueNAS Scale for ingress to work properly?
 

victort

Guru
Joined
Dec 31, 2021
Messages
973
I like this idea of using a separate IP for the Apps. Are you configuring a second IP on a second NIC, or are you doing this virtually?

Also, should it matter if I'm running nginx on another machine, or does it need to be running on the same machine as TrueNAS Scale for ingress to work properly?
I don’t do this anymore, but when I did, I assigned both IPs to one bridge. The bridge had the main NIC as a member.
 

sfatula

Guru
Joined
Jul 5, 2022
Messages
608
Also with the official Nextcloud app it is possible to delete the app, and reinstall it while simply pointing the hostpath storage back at your existing data. With Truecharts this is not exactly possible without having to do some manual work to migrate or mount the data.
Yes
 
Top