TrueNAS Electric Eel (aka SCALE 24.10) introduces Docker Compose capabilities within Apps. With this release, industry-standard Docker Compose applications can now be easily integrated with TrueNAS and ZFS. Electric Eel nightly ISOs are available for testing and the BETA1 version is expected to be ready next week (ETA August 27th).
Electric Eel Will Automatically Convert Apps to Docker Compose
TrueNAS 24.10 automates the migration process for TrueNAS charts and standard Docker Apps from the current Kubernetes back-end to Docker Compose. Apps like NextCloud, Plex, and hundreds of others will reboot with the TrueNAS Electric Eel update in their new configuration, but their software, data, and networking will be preserved.
This is how it’s been planned out, and how it’s functioning in the TrueNAS test labs; however, we’d like to hear real-world feedback from our community.
If you’re a TrueNAS community user with the ability to build a test system - bare-metal, or in a VM - we would appreciate any reviews, bug reports, and general feedback. Even if your experience is perfectly seamless; please let us know! The Apps ecosystem is undergoing a large change and we want to present a well-vetted solution with the help of the community.
App Testing Needed
There are several types of scenarios where testing is needed:
App Deployment - New apps are deployed from the standard TrueNAS catalog
App Migration - Existing TrueNAS Apps (edit: but not Docker Custom Apps) are migrated during a software upgrade from Dragonfish
At a later date, we’ll ask for more complex migration scenarios, but we want to ensure the fundamentals are solid first. For each of these scenarios, we recommend different approaches.
App Deployment
The Electric Eel Apps available during BETA1 will be a subset of the Dragonfish Apps, as we continue to populate the new catalog. Before planning a new test system, check that your desired Apps are available by looking at the “added” column of our Apps repo on Github. If you’re missing a crucial App, you’ll have to wait until it’s been added - or perform your testing without it for the moment.
Download the new Electric Eel .iso file and install a new system. You can use bare-metal hardware or a VM - even a VM set up within an existing TrueNAS SCALE Dragonfish installation.
Set up your system as normal, creating a pool, datasets, and file shares.
After you have file shares created, you can deploy Apps and Docker Containers. Your testing should verify that each App deployed successfully. Please let us know which Apps succeeded and report a bug for each App that did not.
We expect new Docker-powered App deployments to be 2-3x faster than the previous Kubernetes installations. Let us know how your experience was - we don’t need a stopwatch, but if you’re willing to break one out, more power to you!
If you feel particularly adventurous, you can try the new Docker Compose management Apps Dockge and Portainer, and use them to hook into the new TrueNAS SCALE Apps framework.
App Migration
The previous testing assumed a fresh install of TrueNAS 24.10. While that’s an important test scenario for newcomers, our existing TrueNAS users will want to ensure a smooth migration of Apps from Dragonfish to Electric Eel.
While the software framework for the migration to Docker is complete, and many of the Apps in the catalogs have an associated migration script, some Apps will need to be completed closer to RELEASE. The list of completed Apps and their migration script status can be found on our Github here. If you’re currently using specific TrueNAS Apps, please don’t upgrade until they have been completed, as indicated by a checkbox in the “migrated” column.
When you are ready to test, review the performance of your current Apps and the load on your system for future comparison. Download the .iso or update bundle and perform a manual update. SCALE does have boot environments for easy downgrades, but you can also make a checkpoint of your entire pool or manually take snapshots of your primary datasets before the upgrade.
As part of the app migration process, Electric Eel takes a snapshot of the App and clones it during the upgrade from Dragonfish. The cloned dataset is then manipulated to convert the existing Kubernetes data to Docker Compose format. This migration operation is performed on one App at a time, based on migration information in the TrueNAS catalog. If the migration information is not present, the App will not be migrated and will not restart. All Apps that are migrated will successfully restart after the upgrade.
Because the Apps dataset is automatically snapshotted and cloned, Electric Eel maintains the ability of TrueNAS to rollback after an upgrade, including your Applications. This allows for an easy and complete restoration of your previous Dragonfish installation if desired. Even if your upgrade went smoothly, this is something that adventurous users can perform manually, just to help validate any potential edge cases.
If you have upgraded prior to all your Apps being migratable, there is a mechanism (documented in the BETA Release notes) to re-run the migration later. This will attempt to migrate any Apps that previously had no migration script.
Because each user has unique hardware, Apps, networking, and disk configurations, the TrueNAS QA team cannot cover every single test case; which is why we’re asking for additional community testing. Feedback on the various aspects of App migration would be greatly appreciated, including:
- Apps that migrated successfully
- Apps that migrated unsuccessfully or partially
- Apps that did not migrate at all
- Rollback success or failure
- Reattempted Migration success or failure
- App performance after upgrade
- System utilization (CPU%) changes after the upgrade
- How long did the migration process take?
Thanks to Community
Thanks in advance to all those users who help with this testing. We appreciate those with the interest, energy, and time to ensure that the upgrade process is smooth, easy, and non-disruptive.