TrueNAS SCALE Version Documentation
This content follows the TrueNAS SCALE 24.04 (Dragonfish) releases. Use the Product and Version selectors above to view content specific to different TrueNAS software or major version.
Install Custom App Screen
12 minute read.
Application maintenance is independent from TrueNAS SCALE version release cycles. This means app version information, features, configuration options, and installation behavior at the time of access might vary from those in documented tutorials.
In TrueNAS 24.04 (Dragonfish), the Apps feature is provided using Kuberenetes. To propose documentation changes to a Kubernetes-based app available in TrueNAS 24.04 (Dragonfish), click Edit Page in the top right corner.
Future versions of TrueNAS, starting with 24.10 (Electric Eel), provide the Apps feature using Docker. To propose documentation changes for a separately versioned Docker-based app, first use the Product and Version dropdowns to switch to the Nightly version Apps documentation, then click Edit Page.
See Updating Content for more guidance on proposing documentation changes.
The Install Custom App screen allows you to configure third-party applications using settings based on Kubernetes. Use the wizard to configure applications not included in the TRUENAS catalog. The Custom App button on the Discover application screen opens the Install Custom App configuration wizard.
The panel on the right of the screen links to each setting area. Click on a heading or setting to jump to that area of the screen. Click in the Search Input Fields to see a list of setting links.
Settings are grouped into Application Name, Container Images, Container Entrypoint, Container Environment Variables, Networking, Port Forwarding, Storage, Workload Details, Scaling/Upgrade Policy, Resource Reservation, Resource Limits, and Portal Configuration sections.
Application Name has two required settings, Application Name and version. After completing the installation these settings are not editable.
Container Images settings specify the container image details. They define the image, tag, and when TrueNAS pulls the image from the remote repository.
Container Entrypoint settings specify both commands and arguments to use for the image. These can override any existing commands stored in the image. Check the documentation for the application you want to install for entry point commands or arguments you need to enter.
Container Environment Variables settings define additional environment variables for the container. Check the documentation for the image and add any required variables here.
Networking settings specify network policy, addresses, and DNS services if the container needs a custom networking configuration.
See the Kubernetes documentation for more details on host networking. You can create additional network interfaces for the container or give static IP addresses and routes.
By default, containers use the DNS settings from the host system. You can change the DNS policy and define separate nameservers and search domains. See the Kubernetes DNS services documentation for more details.
Port Forwarding settings specify the container ports, node ports, and the transfer protocol. Choose the protocol and enter port numbers for both the container and node. You can define multiple port forwards.
Use port forwarding to reroute container ports that default to the same port number used by another system service or container. See Default Ports for a list of assigned ports in TrueNAS.
The Storage settings specify persistent host paths and share data that separate from the lifecycle of the container. Create the storage volumes in SCALE and set the host path volume to a dataset and directory path. You can mount SCALE storage locations inside the container with host path volumes. Define the path to the system storage and the container internal path for the system storage location to appear. For more details, see the Kubernetes HostPath documentation.
Users can create additional Persistent Volumes (PVs) for storage within the container. PVs consume space from the pool chosen for application management. To do this, name each new dataset and define a path where that dataset appears inside the container.
Workload Details settings specify how to deploy workloads in the container (pod). Kubernetes defines workloads as applications running in the pod. Workload Details settings specify if containers in a pod run with TTY or STDIN enabled, allow enabling any device on the host or configuring host capabilities, and if you run the container as a user or group.
Scaling/Upgrade Strategy settings configure how application upgrades replace pods.
Select Create new pods and then kill the old ones to recreate the container. This retains the existing configuration and container until the upgrade completes before removing it.
Select Kill existing pods before creating new ones to do rolling upgrades. This removes the existing pod and start with a newly updated pod. Killing existing pods is useful if your old pod is not functioning properly. For fewer issues, select Kill existing pods before creating new ones.
Resource Reservation settings configure GPU device allocation for application processes. Settings only display if the system detects available GPU device(s).
Select the number of devices to allocate from the Select GPU dropdown list of devices. See Allocating GPU for more information.
Resource Limits settings specify the CPU and memory limits to place on the Kubernetes pod.
The Portal Configuration settings configure the web UI portal for the container.
Select Enable WebUI Portal (only supported in TrueNAS SCALE Bluefin) to display the web portal configuration settings.