TrueNAS Scale Apps TrueNAS vs Truecharts

There are two main sources of Apps for TrueNAS Scale TrueNAS and TrueCharts. TrueNAS Apps are produced and maintained by TrueNAS. Truecharts are open source and are maintained by the Truechart community. At the time of writing, there are 80 TrueNAS Apps and 761 Truechart Apps.

There has been criticism of Truechart Apps for being unstable and requiring reinstalling.  Using the release train of TrueNAS Scale 23.10 (Cobia) I have had no major issues using Truecharts.  Issues do arise when TrueNAS changes the system underlying the structure of the Apps. This is going to happen when Dragonfish (TrueNAS Scale 24.xx) replaces Cobia (TrueNAS Scale 23.10) when iX-Systems will no longer maintain or support any form of PVC-based storage for apps. 

 Here are the prerequisites for Truecharts:

  • The dataset for the Apps pool must be setup
  • Truecharts catalog must be installed
  • It is recommended that you set up HeavyScript and run it nightly with a cron job.
  • Truecharts provides its solution to iX-Systems removing PVC, OpenEBS so I recommend installing this.
  • Some Truecharts need Prometheus Operator others need Cloudnative-PG Operator so I recommend installing both.

If you are running everything through a Cloudflare Tunnel then Cloudflare can be used to provide TLS for HTTPS and authentication services. If you want the flexibility of running your authentication then you will need to install:

  • Traefik
  • Cert-manager
  • clusterissuer
  • Authelia

There are several alternatives for storing configuration files related to TrueNAS Scale Apps:

  • PVC
  • Host Path
  • emptyDir
  • NFS Share
  • iSCSI Share

PVC is a “hidden” storage. You can not easily access (or share) it from the Host. The advantage is that you do not have to worry about file permissions. The disadvantage is if you delete the container the PVC is also deleted.

The advantage of using Host Path/NFS Share/iSCSI Share is that data can be accessed externally from the host, but the permissions must be managed.

My preference is to use Host Path so that I can easily access the data if necessary. I have had cause to roll back a container without issue.

I would recommend a dedicated dataset within which to store the data for the apps. Each app has its dataset. By using this approach, snapshots can be applied to either the entire dataset or individual apps.

Setting up Apps Host storage

I have a dataset called appdata which I use to store the datasets that apps use for storing their persistent data. In TrueNAS Scale go to Datasets, click on the appropriate dataset, then Add Dataset. Provide a suitable name for the dataset in the resulting pane. All the other fields can be left at the default. All the other fields can be left at the default. Click Save.

A snapshot of a computer interface showing a list of datasets with their names, used and available space, encryption status, and roles within a data storage management system.

Return to the list of Datasets and select the one you have just created. (You may have to refresh your browser.) Then click Edit in the permissions section. In the resulting form change both User and Group to apps and make sure that Apply User and Apply Group are selected and give write permissions to the group. Click Save.

The data set is now ready for use by the app container.

Next: Initial configuration of TrueNAS Scale Apps

Leave a Comment

Scroll to Top