(408) 943-4100               V   Commercial Support Toggle between Light and Dark mode

Plugin Management

  5 minute read.

Last Modified 2021-07-30 09:08 EDT
This feature is only supported by the TrueNAS CORE community.

Plugins allow extending the built-in NAS services by installing additional software. A plugin is a pre-packaged application that is installed into a FreeBSD Jail. The plugin jail is limited to installing and using only the plugin software.

  • A data pool must be available for plugin storage.
  • The system must be connected to the internet.
  • Go to Network > Interfaces, edit the intended plugin interface, and set Disable Hardware Offloading.

Plugin Installation

Catalog

To see the plugin catalog, go to the Plugins screen.

Going to the Jails or Plugins screen for the first time prompts to select a location on the system for storing Jail related data.

JailsPluginsStorage

By default, this location stores all data related to jails and plugins, including downloaded applications, data managed by the jail or plugin, and any jail snapshots.

Disconnecting or deleting the pool that stores jail data can result in permanent data loss! Make sure to back up any critical data or snapshots that are stored in a jail before changing the storage configuration.

To change the Jails and Plugins storage location, click , select a new pool, and click CHOOSE.

PluginsList

If the catalog doesn’t load:

  • Go to Network > Global Configuration and confirm the Default Gateway and DNS Servers addresses are correct.
  • Open the Shell and ping an Internet address. The output confirms the system is connected to the Internet.

Plugins are organized into two Collections:

  • iXsystems maintained plugins
  • Open Source plugins created and maintained by the TrueNAS community.

By default, the iXsystems-supported plugins are shown. To view the community-supported plugins, open Browse a Collection and select Community.

Install Options

To install a plugin, click the plugin icon and Install. This example shows installing Tarsnap, a popular backup solution.

PluginsTarsnapInstall

Enter a Jail Name for the plugin and adjust the networking settings as needed. Most plugins default to using Network Address Translation (NAT) for their Internet connection, but you can choose to use a dynamically-generated address with DHCP or define static IP addresses for the plugin jail. Using NAT is recommended as it does not require manual configuration of multiple available IP addresses and prevents addressing conflicts on the network.

Some plugins default to DHCP as their management utility conflicts with NAT. Keep these plugins set to DHCP unless a manually configured IP address is preferred.

Plugins can take several minutes to download and install. A dialog confirms when the installation is complete and shows any post-install notes. You can view the post-install notes later by expanding the entry for the installed plugin in Plugins and clicking Post Install Notes.

If a plugin download or update fails with an error about being unable to fetch an artifact or download a package, you might need to investigate your networking environment. Some home routers can have a security feature that prevent DHCP enabled plugins (or bridged devices with virtual MAC addresses) from resolving addresses. Also, sometimes additional DNS validation is required that is not supported by the router or the router has a caching resolver that is holding on to a stale record. A couple of possible solutions are to hard reset your router to clear any stale records or try using an alternate DNS server for the plugin.

Post-Install Configuration

After a plugin is installed, an entry is added to the Plugins screen.

PluginsListwithInstalled

Click to manage the plugin state, update the plugin application, configure the plugin jail mount points to storage datasets, and, when supported, open a link to the management portal for the plugin application.

Plugin jails are preconfigured and require very little tuning. However, jail properties are available in the event a setting needs to change. To update or reconfigure the plugin jail, go to the Jails screen and expand the entry for one of the plugin jails. You need to click   and stop the jail before changing it.

PluginsInstalledOptions

Removing a Plugin

Uninstalling a plugin destroys all datasets or snapshots that are associated with the plugin. Make sure to back up any important data stored in the plugin jail before deleting it!

Backing up Jail Data

To find a jail’s stored data, go to Storage > Pools and expand the entry for the pool that was chosen to store plugin and jail data. Expand the iocage and jails datasets to find the plugin jail storage dataset.

StoragePoolsJailsDatasetLocation

One option to back up this stored data is to create a local replication. The replication task can even be configured to run periodically and automatically back up new changes to the jail dataset.

To convert a jail snapshot into a new storage dataset, go to Storage > Snapshots and find a snapshot of the jail dataset.

StorageSnapshotsJailsLocation

Expand the snapshot entry, click , and define the path and name of the new dataset to create from the snapshot. Then go to Storage > Pools, open the for the new dataset, and click Promote Dataset.

Uninstalling a Plugin

To remove a plugin, go to Plugins, expand the installed plugin entry, and click . Confirm the plugin removal by typing in the name of the plugin jail and setting Confirm.

PluginsUninstall

Uninstalling can take a few moments while the plugin deletes from both Plugins and Jails. The plugin dataset also deletes from {POOL}/iocage/jails/ and any jail snapshots from Storage > Snapshots.