The Future of Electric Eel and Apps
There’s been some great progress on Apps in SCALE. Kubernetes (K3S) has been integrated. A catalog system has been built to enable easy web UI management of apps. ZFS has been modified to support Docker OverlayFS to better handle snapshots from containerized applications, and custom Docker containers can be downloaded and run directly via the web UI.
However, one thing has been missing until now: Docker Compose scripts cannot be used for importing applications.
The TrueNAS community has been forced to build Apps using Helm charts. Helm charts are powerful, but they are more complex and less portable. There’s been lots of feedback from the community that native Docker and Docker Compose is preferred, and that K3s and Helm charts have been too complex and less reliable. It’s clear that Docker is the industry standard for building containerized applications. TrueNAS users have been vocal.
-
“Add native Docker support. It’s the most requested feature for TrueNAS.” (Quentin J.)
-
“Include easier or more streamlined Docker support out of the box Docker.” (Primoz R.)
-
“I really do wish TrueNAS had a clean option for more pure Docker/Compose use.“ (James P.)
iX Listens
One of TrueNAS’s primary goals is to create an environment that is easy to use and innovate in. We want it to be easy to import and export Apps and their data. This is part of our promise of “True Data Freedom.”
Over the last six months, we have been working to meet the Community demand for native Docker Compose while minimizing the disruption of existing App deployments. We now have a solution and a plan for Electric Eel, which we’re ready to share now.
Electric Eel
The current version of TrueNAS SCALE is Dragonfish (24.04). The first update, 24.04.1, has achieved the quality needed for it to be our most successful release ever, with over 35,000 users already running on Dragonfish.
The next version of TrueNAS SCALE is Electric Eel (24.10), due in Q4 this year. It’s been in active development for many months and will be BETA in Q3 this year. It’s a very exciting and feature-packed release that’s set to include:
- OpenZFS 2.3 with RAIDZ expansion and Fast Dedup
- Web UI improvements including a Global Search, and better dashboards
- Web-based installation of TrueNAS
- Integrated Cloud backup of TrueNAS
- Additional security features and dozens of other improvements
- New iX platforms and capabilities
- And now ….Native Docker and Docker Compose support for Apps
We expect that users will be very excited by the complete package. As we progress to BETA there will be a more complete write-up of what is included.
Docker Compose Introduction
We’ve thought long and hard about how to introduce Docker Compose support and have developed a plan that minimizes disruption. It will include moving the Apps infrastructure from K3S to Docker. Docker and Compose will simplify portability and innovation of Apps.
All of the TrueNAS Apps catalog will migrate to Docker Compose without requiring users to take any manual actions; all current users will need to do is update the system to Electric Eel when it launches. Each TrueNAS installation will identify the Apps running and automatically migrate to using the new Docker Compose App from the Catalog. Those updated Apps will use exactly the same datasets and configuration options as used previously.
After this update, new Apps can come from the TrueNAS Catalogs or can be installed as traditional Docker Compose applications using standard YAML config files. TrueNAS will fully support the gamut of industry standard Docker and Compose application deployments. With this process, it will be vastly easier for TrueNAS users to build or import more complex Apps from upstream sources.
Long-Term Kubernetes Support
For anyone who wants to continue using Kubernetes (K3s or K8s), we recommend using TrueNAS Sandboxes. This transition can happen in Dragonfish before updating to Electric Eel. Kubernetes instances within a Sandbox have full APIs available and can also be configured for clustering if the user so chooses
Third-party catalogs will have an option of continuing to maintain and support their Helm chart Catalogs via deployment of K3s in a sandbox. Contact us if you need guidance on this transition.
Next Steps
The engineering team will be merging code and updating the catalogs over the next two months. There will be no impact on existing Dragonfish Apps. When the new Apps system in Electric Eel is functional, we will alert the developer community and provide links to a nightly image. However, open testing will likely begin with a BETA version, expected in August.
Do not update your system to a Nightly developer image now and expect your Apps to work. Please wait until iX provides an all-clear message.
We’ll help the community establish best practices for transitioning Apps as we progress through Nightly and BETA testing. This process should be easy for TrueNAS Apps, but will likely require some examples and thought for private and third-party Apps.
Users can continue deploying TrueNAS Apps on Cobia or Dragonfish and expect a straightforward migration to Electric Eel. For those that want Docker Compose applications now, a native Docker runtime can be run in a Linux sandbox today. If you like this new direction, please cheer us on and let us know how we can improve it.