TrueNAS Development Documentation
This content follows experimental development changes in TrueNAS 28, a future version of TrueNAS.
Use the Product and Version selectors above to view content specific to a stable software release.
Custom App Screens
17 minute read.
The TrueNAS Applications Market is your new resource for the latest details about apps available within TrueNAS. Discover which apps are widely used or recently added, filter the entire catalog to find the perfect app, and learn specifics that can help you deploy an app.
The website updates daily, so you’ll always have the latest info about TrueNAS applications!
Custom App on the Discover screen opens the Install Custom App guided installation wizard. more_vert > Install via YAML opens the Add Custom App screen with an advanced YAML editor for deploying apps using Docker Compose.
The Install Custom App screen allows you to configure third-party applications using Docker settings. Use the wizard to configure applications not included in the official catalog.
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, Image Configuration, Container Configuration, Security Context Configuration, Network Configuration, Portal Configuration, Storage Configuration, and Resources Configuration sections.
Application Name has two required settings: Application Name and version. After completing the installation, these settings are not editable.
Image Configuration settings specify the container image details. They define the image, tag, and when TrueNAS pulls the image from the remote repository.
Container Configuration settings specify the entrypoint, commands, timezone, environment variables, and restart policy to use for the image. These can override any existing variables stored in the image. Check the documentation for the application you want to install for required entrypoints, commands, or variables.
Add to the right of configuration settings such as Entrypoint, Command, Environment Variables, and Devices shows additional setting options. Clicking Add again shows another block of settings.
Security Context Configuration settings allow you to run the container in privileged mode, grant the container Linux kernel capabilities, or define a user to run the container.
Network Configuration settings specify network, ports, and DNS servers if the container needs a custom networking configuration.
See the Docker documentation for more details on host networking.
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. See the Docker Container Discovery documentation for more on overlaying ports.
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 Docker DNS services documentation for more details.
Add to the right of configuration settings such as Ports, Networks, Nameservers, Search Domains, and DNS Options shows additional setting fields to configure these areas. Clicking Add again shows another block of settings.
The Portal Configuration settings configure the web UI portal for the container.
Add shows the web portal configuration settings.
The Storage Configuration settings specify persistent or termporay storage paths and share data claims separate from the lifecycle of the container. For more details, see the Docker storage documentation.
Host path volumes can mount TrueNAS storage locations inside the container. Refer to the Installing Custom Apps tutorial for more information on configuring storage options.
ixVolume allows TrueNAS to create a dataset on the apps storage pool. These are intended for fast test deployments of applications and not for persistent storage.
Both Host Path and ixVolume attach container storage as a bind mount. See Docker Bind Mount documentation for more information.
NFS and SMB share volume claims within the container access the NFS or SMB share. Share volumes consume space from the pool chosen for application management.
Tmpfs allows the container to utilize a temporary directory on the RAM, and are intended of log usage that does not need to persist. See the Docker tmpfs documentation for more information.
Add shows a block of storage configuration settings. Clicking Add again shows another set of storage configuration settings.
The Label Configuration settings allow creating custom key-falue pairs attached to a container as metadata. Thsee are informational tags used to organize, identify, and filter containers. Common uses include marking which app or environment a container belongs to, noting a version or owner, or letting external tools (monitoring, orchestration, backup scripts) select the containers by label instead of by name or ID.
Add shows the label settings.
Key sets the label key for the container.
Value sets the label value paired with the label key.
Resources Configuration settings configure resources for the container. Resource limits specify the CPU and memory limits to place on the container.
GPU Configuration settings configure GPU device allocation for application processes. Settings only show if the system detects available GPU device(s). See GPU Passthrough for more information.
The Add Custom App screen allows you to configure third-party applications using Docker Compose YAML syntax. Use the YAML editor to configure applications not included in the official catalog. See the Docker Compose overview from Docker for more information.
Installing custom applications via YAML requires advanced knowledge of Docker Compose and YAML Syntax. Users should be prepared to troubleshoot and debug their own installations. The TrueNAS forums are available for community support.
TrueNAS applies basic YAML syntax validation to custom applications, but does not apply additional validation of configuration parameters before executing the file as written.
| Setting | Description |
|---|---|
| Name | Specifies a name for the application to be used in the TrueNAS UI. The name must use lowercase alphanumeric characters, start with an alphabetic character, and can end with alphanumeric character. A hyphen (-) is allowed but not as the first or last character, for example abc123, abc, abcd-1232, but not -abcd. |
| Custom Config | Specifies a Docker Compose YAML file for the application. The file must include a services: key or an include: key pointing to an external Compose file that defines services. |
Save initiates app deployment.






















