Both TrueNAS CORE and TrueNAS SCALE can run both apps and virtual machines.
In TrueNAS CORE, you can run Jails, Plugins and VMs.
Jails are essentially roll-your-own containerised apps (a bit like Docker), but there are a lot of apps for which pre-written instructions or scripts are available to create a Jail. (For a quick explanation of Jails, see “A Quick Intro to Jails” on the TrueNAS Community Archive.)
Plugins are essentially pre-packaged Jails provided by ixSystems, but are now very limited in number.
VMs are for completely virtualised operating systems under which you can run apps. VMs use significantly more CPU and memory (which need to be permanently allocated) than containerised Jails, so you will need to design your system carefully if you plan to use VMs. Bear in mind also that these VMs will not have a GUI console, so you will need to use some form of remote login to setup and manage these VMs.
In TrueNAS SCALE you can currently run either Apps or Virtual machines - in versions up to Bluefin 22.10 also Docker images, and in versions since DragonFish 24.04 also Sandboxes (which are a bit like Jails and configured using a utility called JailMaker).
Apps are pre-packaged containerised applications (almost all open source or free 3rd party apps) delivered using Kubernetes K3S containerisation. Obviously pre-packaging makes installing the app simpler - though be warned that the configuration of these can still be daunting, and the documentation for doing this configuration is often limited or almost non-existent.
TrueNAS SCALE comes with a pre-installed catalogue of TrueNAS Chart apps provided by ixSystems.
However there are thousands more apps (with some considerable overlap) also available from TrueCharts - and you can integrate the TrueCharts catalogue into TrueNAS SCALE so that you can see and install them in exactly the same way as TrueNAS Charts.
The names of these catalogues are very similar, so be careful to understand the distinction:
- TrueNAS Charts - from ixSystems
- TrueCharts - from an independent Community group of Kubernetes experts
You can also create your own K3S containers using a docker image as a “Custom App”.
Caveat: ixSystem is on-the-record as indicating that the Kubernetes charts infrastructure currently available in TrueNAS SCALE may be replaced at some point by a Docker/Composer-based alternative because the overheads would be lower, the integration complexity lower and so more reliable, and configuration of Docker can be significantly simpler. There are currently no details about the plans for this. We assume that if it happens, existing TrueNAS Charts will have 1-for-1 equivalents with Docker, and perhaps there might be automated migration, however we are unclear about what will happen with TrueCharts which is heavily committed to Kubernetes (though ultimately (almost?) all TrueCharts apps are Docker-based anyway.
VMs are for completely virtualised operating systems under which you can run apps. VMs use significantly more CPU and memory (which need to be permanently allocated) than containerised Apps, so you will need to design your system carefully if you plan to use VMs. Bear in mind also that these VMs will not have a GUI console, so you will need to use some form of remote login to setup and manage these VMs.
There are actually two ways to deliver both NAS and Virtual Machines:
Both of these are valid options, but they have different characteristics and degrees of complexity. A few simple rules of thumb to help give an indication which might be best for you:
In TrueNAS SCALE versions up to Bluefin 22.04, because Kubernetes K3S was using Docker under the covers, SCALE also provided support for you to define Docker based apps of your own.
When Kubernetes switched to a different containerisation technology in SCALE Cobia 23.10, support for Docker apps was dropped.
Sandboxes are new to TrueNAS SCALE but are based on existing open source technologies (systemd-nspawn and jailmaker) - and I am sure I read somewhere that upgrade-compatible support is guaranteed for future versions (but somewhat typically I can't find the link now).
A few notes about Sandboxes:
There is an excellent Youtube video by TrueNAS MVP user @stux which demonstrates how to setup JailMaker and Docker and (as an example) JellyFin.
Previous - 2.4 Storage Services & Protocols | Index | Next - 2.6 Configuring and Upgrading your Network |