Running Apps Directly on TrueNAS Scale: A Practical Guide

TrueNAS Scale Apps lets you deploy Docker-based services straight from the same web interface managing your storage pools, without needing a separate Pr…

TrueNAS

The earlier TrueNAS Scale guide covered building the NAS itself — pools, shares, snapshots without going deep into one of Scale’s most genuinely useful features over traditional NAS software: running actual applications directly on the same box as your storage. TrueNAS Scale Apps lets you deploy Docker-based services straight from the same web interface managing your storage pools, without needing a separate Proxmox VM for every lightweight service.

Why Run Apps Directly on TrueNAS Instead of a Separate VM

For services that are fundamentally storage-adjacent — Immich (), a media server, or a download client — running them directly on TrueNAS Scale means the application has direct, local access to your storage pools without needing network shares or passthrough configuration between a separate Proxmox VM and the NAS. This can mean truly simpler setups and better performance for storage-heavy workloads specifically.

Understanding TrueNAS Scale’s App Architecture

TrueNAS Scale’s Apps feature runs containerized applications (built on Kubernetes underneath, in recent versions) directly on the TrueNAS host itself, with a curated catalog of pre-configured applications alongside support for deploying custom Docker images not in the official catalog.

Enabling Apps

  1. In the TrueNAS Scale web interface, navigate to Apps.
  2. If not already configured, select a storage pool to serve as the apps’ dedicated storage location.
  3. TrueNAS initializes the underlying container infrastructure automatically.

Installing an App from the Catalog

  1. Go to Apps → Discover Apps.
  2. Browse or search the catalog (Plex, Nextcloud, Pi-hole, and dozens of others are commonly available).
  3. Select an app and configure its settings — storage paths (pointing directly at datasets within your existing pools), network ports, and any application-specific configuration.
  4. Click Install.

Deploying a Custom Docker Image

For applications not in the official catalog:

  1. Go to Apps → Discover Apps → Custom App.
  2. Specify the Docker image (from Docker Hub or another registry), similar to writing a Docker Compose service definition but through TrueNAS’s guided interface.
  3. Configure volume mounts pointing directly at your storage pool’s datasets, port mappings, and environment variables.
  4. Deploy.

Connecting Apps Directly to Your Storage Pools

The real advantage of TrueNAS-hosted apps shows up here specifically — rather than needing NFS or SMB shares (with their own network overhead) between a separate VM and your NAS, an app’s storage mount points directly reference datasets within your existing ZFS pools, benefiting from ZFS’s data integrity guarantees without any additional network filesystem layer in between.

A Practical Example: Running Immich Directly on TrueNAS

Rather than running Immich () in a separate Proxmox VM connecting to TrueNAS via NFS, deploying it as a TrueNAS Scale app lets Immich’s photo storage directory point directly at a dataset on your pool, avoiding the network filesystem overhead entirely while still benefiting from the same ZFS snapshot and backup practices already applied to that pool.

Monitoring App Resource Usage

TrueNAS Scale’s Apps interface shows basic resource usage per running app directly, though for more comprehensive monitoring integrated with the rest of your homelab, the Netdata or Grafana/Prometheus setups can also be deployed as TrueNAS apps themselves, extending your existing monitoring coverage to include the NAS’s own app workloads.

When to Use TrueNAS Apps vs a Separate Proxmox VM

  • Choose TrueNAS Apps for storage-heavy applications directly benefiting from local ZFS pool access, or really lightweight services where avoiding a separate VM’s overhead matters
  • Choose a separate Proxmox VM (per the LXC vs VM guide covered earlier) for applications needing stronger isolation from your storage system itself, GPU passthrough, or resource-intensive workloads you’d rather keep entirely separate from your NAS’s primary storage-serving responsibilities

Backing Up App Configuration

Since TrueNAS apps store their configuration and data within your existing pools, they’re automatically covered by whatever snapshot and backup strategy (following the 3-2-1 principles ) you’ve already established for that pool — a real advantage over managing separate backup coverage for an equivalent app running in an entirely separate VM.

Resource Considerations for a Dedicated NAS

Running apps alongside storage duties means your NAS hardware needs to handle both workloads simultaneously — worth considering against the hardware sizing discussed in the earlier NAS and SSD guides, particularly for CPU and RAM headroom if you’re running several apps alongside actually active storage workloads.

Final Thoughts

TrueNAS Scale Apps offers a particularly compelling alternative to always spinning up a separate Proxmox VM for storage-adjacent services, letting applications directly access your ZFS pools without network filesystem overhead while inheriting your existing snapshot and backup coverage automatically. For services with a real storage-heavy relationship to your NAS specifically, running them as TrueNAS apps rather than a separate VM is often the simpler, more directly integrated choice.

Related Posts

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *