You'll often need to connect individual apps to each other to exchange data, for example: Sonarr to SABnzbd to allow Sonarr to control downloads within SABnzbd.
The backend for TrueNAS SCALE Apps is Kubernetes. As you can't point directly to other Kubernetes app containers using their IP address you need to use their internal domain name instead.
Please beware: this name is only available between Apps and cannot be reached from the host/node or your own PC.
For most apps, you'll want to contact the main service (usually the web interface or primary way you interact with the app)
Please replace $NAME
with the name you gave your App when installing it, and $APP
with the name the app has on the catalog as needed.
If your app name contains the name of the app as in the catalog, the format is as follows.
$NAME.ix-$NAME.svc.cluster.local
If your app name does NOT contain the name of the app as in the catalog, the format is as follows.
$NAME-$APP.ix-$NAME.svc.cluster.local
If you need to reach a different service of your app (which is not often the case), you need a slightly different format.
As well as the above naming, replace $SVCNAME
with the name of the service you want to reach:
If your app name contains the name of the app as in the catalog, the format is as follows.
$NAME-$SVCNAME.ix-$NAME.svc.cluster.local
If your app name does NOT contain the name of the app as in the catalog, the format is as follows.
$NAME-$APPNAME-$SVCNAME.ix-$NAME.svc.cluster.local
Be aware: you'll only be able to reach ports published on the service they are published to - see the Multiple Services example below for a demonstration of this.
HeavyScript is a very useful command-line utility built to help simplify administration of TrueNAS Scale apps. One of it's many features is being able to list the internal DNS names and ports of your apps. If you are unsure of how names are "built" - then this is by far the easist and recommended way to be sure you are using the correct name.