Plugins, Jails and Applications
Choose a workload engine and prepare existing plugins before moving from 15.0 to 15.1.
FreeCORE 15.0 maintains the TrueNAS CORE 13.3 model of iocage jails, plugins and bhyve virtual machines. FreeCORE 15.1 adds Applications and Bastille, and retires the iocage plugin store. Existing plugin jails remain available through Jails; upgrading does not convert them into containers or Bastille jails.
Choose an Engine
| Workload | FreeCORE 15.0-U1.4 | FreeCORE 15.1-RC1 |
|---|---|---|
| iocage jail | Create and manage through Jails. | Existing and new iocage jails remain available through Jails. |
| iocage plugin | Install and manage through Plugins. | Existing plugin jails remain in Jails. The plugin store no longer installs or updates applications from its catalog. |
| Bastille jail | Not available through the web interface. | Configure the separate Bastille engine, release store and templates. |
| OCI application | Not available through the web interface. | Install native FreeBSD images from the Daemonless catalog through Applications, or import your own image. Linux images run only under the experimental Linux binary compatibility setting. |
| bhyve VM | UEFI and legacy boot methods. | UEFI only. Retained GRUB and UEFI-CSM definitions cannot run. |
Use Applications when the catalog supplies the software and settings you need. Use Bastille or an iocage jail when you need to manage a FreeBSD environment and its packages yourself. Use a virtual machine for a guest operating system with its own kernel. Applications uses native FreeBSD images by default. Linux images run only under the experimental Linux binary compatibility setting, which is best effort and carries no compatibility promise; see Applications. A jail can be converted into an application as it is, and an exported Linux workload can be moved into one, with Convert & Import, also experimental. The same feature writes an application out as a Docker Compose bundle for a Linux host.
The engines keep separate storage and configuration. Selecting another engine or data pool does not migrate a workload's data or service settings.
Before Moving to 15.1
Record each plugin or jail's release, address, service ports, application version and startup setting. Record its mount points and the users or groups that own its files. Back up both its configuration and its application data, including datasets mounted from outside the jail.
For databases, use the application's backup procedure as well as storage snapshots. Files copied while a database is writing may not form a usable backup. Confirm that the replacement application can read or import the version of data you have.
Review VM Firmware in FreeCORE 15.1 for any GRUB or UEFI-CSM guests. Complete and test their UEFI conversion while still on 15.0. FreeCORE 15.1-RC1 is a release candidate; read its release notes before changing the host.
Manage an Existing Plugin Jail
On 15.1, open Jails to find the retained jail. Its existing files and configuration are not removed by retiring the plugin store. Use the jail's ordinary lifecycle, shell and mount-point controls as appropriate.
An old Plugins bookmark redirects to Applications, where Legacy Plugins links back to Jails. That redirect does not install a replacement. The old plugin catalog's install and update actions are retired. Updating packages manually inside a retained jail requires following that application's upgrade instructions; it does not reproduce the old plugin's update scripts.
Move a Workload to a New Installation
There is no automatic conversion from an iocage plugin to an OCI application or Bastille jail. Prepare a replacement as a separate installation:
- Review its catalog entry or template and the application's supported migration procedure.
- Create dedicated storage and test with a copy of the backed-up data. Match the required user/group permissions and container or jail paths.
- Use a separate address or unused host ports while testing. Do not let two database instances write to the same dataset.
- Check the portal, data, service connections, startup behavior and backups.
- Stop the old workload for the final data transfer, then direct clients to the replacement and verify it again.
Keep the previous installation and backups until the replacement has been checked. Before deleting a jail or application, review which data lives inside its managed storage and which datasets are mounted from elsewhere. An external mount remaining intact is not a backup of files the application has already changed.