TrueNASTrueNAS Nightly Development Documentation
This content follows experimental nightly development software. Pre-release software is intended for testing purposes only.
Use the Product and Version selectors above to view content specific to a stable software release.

Configuring Virtualization and Apps

Configuring TrueNAS to work with virtualized features, such as virtual machines (VMs) and applications, is part of the setup process that, when optimized, takes advantage of the network storage capabilities that TrueNAS offers.

Before You Begin

This article assumes you have the latest release version of TrueNAS installed on your system. The following steps are a list of configuration prerequisites you have completed and are familiar with before beginning VM and application installations.

Network Configuration

The primary network interface is configured as part of the installation process. Go to Network > Global Configuration screen in the TrueNAS web UI to determine if the default gateway, host name, domain, and DNS name servers have been configured correctly. See Console Setup Menu Configuration for more information on network settings.

If VMs need to access local NAS storage, you need to create a network bridge and assign it to the VM. Applications or sandboxes that need access to local storage within the container must use a bridge or mount a local storage location as a host path for the application.

VLAN Configuration (Optional)

You can configure a virtual LAN (VLAN) to route traffic for your VMs. VLAN benefits include the reduction of broadcast traffic and the ability to group resources in different physical locations into a broadcast domain. VLANs virtually segment a network. Different VLANs can communicate with each other using layer 3 devices. See Setting Up a Network VLAN for more information on creating virtual LANs (VLAN).

Storage Configuration

Storage pool creation is part of the initial process of setting up storage. A TrueNAS dataset is a file system within a data storage pool. See Setting Up Storage to review storage pool creation and Adding and Managing Datasets for information on dataset configuration.

Shares Configuration

After creating the pool and datasets, set up shares to enable data access and sharing. Different types of data sharing methods are discussed in Setting Up Data Sharing. You should investigate more specific coverage of each share based on your use case.

SMB Shares Screens and Setting Up SMB Home Shares provide a good introduction as to how TrueNAS handles SMB shares.

See Adding NFS Shares for information on creating a basic NFS share. Adjust access permissions using the advanced options.

Directory Services Configuration

Certain directory services must be set up as part of SMB and NFS share configuration. See Active Directory Screen for a better understanding of how to configure Active Directory and Configuring Kerberos for an outline of required Kerberos information. For LDAP best practices see Configuring LDAP.

Virtualization Configuration

Virtual Machines and Containers in TrueNAS 25.04 and Later

TrueNAS 25.04 replaces the previous KVM hypervisor (TrueNAS 24.10 and earlier) with Incus for virtual machine (VM) deployment. It also introduces support for Linux system containers (LXC), enabling lightweight isolation similar to jails in TrueNAS CORE.

With this change, the Instances (formerly Virtualization) screens in the TrueNAS UI are fully redesigned. We are actively updating Tutorials and UI Reference articles to reflect these changes. Please use the Docs Hub Feedback button (located to the right of any article) to report documentation issues or request improvements to the Instances documentation.

Migrating VMs from 24.10 to 25.04

Manual Migration Required

Due to configuration incompatibilities between the previous KVM hypervisor (TrueNAS 24.10 and earlier) and Incus in TrueNAS 25.04, existing VM configurations do not transfer automatically during the upgrade. However, TrueNAS retains storage zvols, allowing you to manually recreate the previous VM configurations and get them back online.

Instances are an experimental feature intended for community testing only. Users with production VMs on TrueNAS 24.10 should not upgrade to TrueNAS 25.04 until after this experimental feature stabilizes in a future TrueNAS release.

Manual Migration Instructions

To migrate VMs from TrueNAS 24.10 (latest) to 25.04:

  1. Prepare for migration by gathering VM configurations and storage details.
  2. Upgrade to 25.04.
  3. Recreate VMs using the saved configurations and attach existing zvol storage.

Preparing to Migrate VMs from 24.10

  1. Copy or write down the VM configuration:

    a. Go to the Virtualization screen and locate your VM.

    b. Click on the VM row to expand it, then click Edit.

    c. Take a screenshot or manually write down the VM settings, as they do not transfer to 25.04.

    d. Save this information externally for reference.

  2. Copy or write down the storage and virtual device configuration:

    a. Go to the Virtualization screen and locate your VM.

    b. Click on the VM row to expand it, then click Devices.

    c. Click in the Disk row and select Edit.

    d. Note the Zvol path, storage Mode, and Disk Sector Size.

    e. Document all VM devices and their configurations for later use.

Recreating VMs in 25.04

  1. Configure Instances settings:

    a. After upgrading to TrueNAS 25.04, go to Instances (formerly Virtualization).

    b. Click Select Pool to open Global Settings.

    c. Select the storage pool for virtualization from the Pool dropdown.

    d. Accept default networking settings or modify as needed, then click Save.

  2. Recreate the VM using the existing zvol:

    a. Click Create New Instance.

    b. Select VM as the Virtualization Method.

    c. Select Upload ISO, import a zvol or use another volume from VM Image Options.

    d. Click Select Volume to open the Volumes screen, then click Import Zvols to open the Import Zvol dialog.

    1. Enter the path or browse to select an existing Zvol in Select Zvols.

    2. Select the radio button to clone or move the existing zvol.

      • Select Clone to clone and promote a temporary snapshot of the zvol into a custom storage volume.

        This option retains the original zvol while creating an identical copy as an instances volume.

      • Select Move to relocate the existing zvol to the ix-virt dataset as a volume.Enter or browse to select the path to the existing zvol.

    f. Adjust VM settings (CPU, memory, networking, etc.) to match your previous configuration.

    g. Click Create.

Instances (Incus-powered containers and virtual machines) are an experimental feature intended for community testing only. Functionality could change significantly between releases, and instances might not upgrade reliably. Use this feature for testing purposes only—do not rely on it for production workloads. Long-term stability is planned for future TrueNAS Community Edition releases.

Make all configuration changes using the TrueNAS UI. Operations using the command line are not supported and might not persist on upgrade.

For assistance or to discuss this feature with other TrueNAS users, visit our community forums.
To report bugs, submit an issue on TrueNAS Jira.

To run a virtual machine (VM), hardware requirements include an x86 machine running a recent Linux kernel using either an Intel processor with VT extensions or an AMD processor with SVM extensions (AMD-V). To install a VM, first research the minimum and recommended specifications for the OS you plan to use and your full use case for that VM. Allocating too many resources to a VM can cause performance on the TrueNAS system to suffer. We recommend you plan for and ensure your system has the resources to run itself and a full VM deployment effectively, taking into account the need for high availability (HA) and persistent storage.

Software requirements include an installer for the OS you intend to install on the VM.

A TrueNAS storage pool is required. We recommend you create additional datasets beneath the storage pool to organize your VM data further.

Review Virtualization Screens to determine requirements for VM installation. See Adding and Managing VMs for more information on adding or managing VMs.

Application Configuration

The first time you open the Applications screen, it displays an Apps Service Not Configured status on the screen header.

Click Settings > Choose Pool to choose a storage pool for Apps.

A storage pool for applications must be chosen before application installation can begin. Select a pool with enough space for all the application containers you intend to use. Set up a new dataset before installing your applications if you want to store your application data in a separate location from other storage on your system.

After an Apps storage pool is configured, the status changes to Apps Service Running.

Use Discover Apps to view available applications. See Apps tutorials and Apps reference guide for more information.

For custom applications, Install Custom App details each field on the Install Custom App screen. Before beginning a custom application installation, determine the following information:

  • Container host networking requirements, including host interface
  • IP address management: DHCP or static IP
  • DNS policy and nameservers
  • Container entrypoint (executables run when the container is started): commands or arguments
  • Container environment variables: names and values
  • Port forwarding
  • Storage: host path and mount path configuration

You can find additional options for configuring general network interfaces and IP addresses for application containers in Apps > Settings > Advanced Settings.