TrueNAS Scale Electric Eel: Finally a ToE?

TrueNAS Scale Electric Eel: Finally a ToE?

If you didn't get the reference in the heading, Electric Eel is quite possibly the elusive Theory of Everything - a one stop shop which does storage, containerization, and virtualization all in one. But is it all its cracked up to be?

What is the Big Deal?

For those who don't know about TrueNAS (TN), a bomb just dropped in that space. TN is an OS built to run a network attached storage server (NAS) which is a fancy name for "a place to store all your data". However, TN always wanted to be more than just a tank of files. Built on top of Debian, TN gives users a GUI which makes so much about server management simple, like setting up data pool, shares, replication, backup, as well as containerization and virtualization. Those last two are where things get tricky. Many people would argue TN does storage management exceptionally well, but would probably also say it doesn't do anything else well.

Electric Eel, version 24.10, attempts to make a dent in that argument by running docker on the host natively. Before this it was k3s, which was the common lament of all its users. Said to be overly complex with no benefit, for years users asked iX Systems, the creators of the software, to replace kubernetes with docker. Finally we get our wish.

Storage

As far as storage goes, I don't think there is a debate here. Almost everyone concerned about the integrity of their long term data storage uses TrueNAS. Its practically an industry standard and for good reason. As of this writing, TrueNAS incorporates the latest version of ZFS into their distribution, which is the go-to for data safety. Not only is the file system built to do long term data storage, the default options on TN are set to keep you safe. For example, without having to change anything, as soon as you set up data pools, TN automatically adds them to a cronjob which runs a scrub of the pool every Sunday at midnight. You can also effortlessly add things like SMART testing through the GUI, making it very new-user friendly.

Integrated with the front-end is a cloud backup option which allows the use of OAuth 2.0 to connect to popular services like Backblaze, AWS, Google and the like for a proper 3-2-1 backup scheme. Nothing here is done through the command line, everything is right there at a click of your mouse with great documentation to back it up.

Containerization

This used to be one of the pain points of the OS. Not so anymore. Electric Eel does three things well:

  1. Nothing needs to be done to enable docker, its preinstalled on the host.
  2. Docker compose is as easy as copy and paste in the GUI.
  3. GPU access from the containers is just a checkbox - no command line.

This is by far a great update to the OS. I have played with the RC2 released as of this writing, and I can say I am mostly pleased. The apps catalog really is just docker with no middle man like before, so when a container image is updated, there is no delay in getting the update.

There are as of this writing 114 apps which are basically one-click installs via the same interface as the old k3s installs. While it may not be the best UI I have ever seen for docker container installs, its not bad either.

To do a custom app, simply click the "custom app" button as paste a compose file in. When it is deployed, it will appear in the same Apps dashboard as the rest of your apps sans iconography (something I hope will be changed in the future). I have had some issues deploying misconfigured apps (all my fault) and the error message points me right to the log which lets me see the error in plain English. While the error message pops up in a dialogue box, I don't like its formatting at all.

Like many people, I have a media server running which has a dedicated nVidia GPU for transcoding. I was worried since that is not an easy thing to pass to containers at times. No problem with Electric Eel. To enable my GPU, all I had to do was go to Apps -> Configuration -> Settings -> then click the box to Install nVidia Drivers. I will say this was not recognized by the apps immediately. I had to do a restart and recreate my container. With TrueNAS this is no problem since I can use host path to store the config file so all I need to do is start a new container pointed at the config directory and its like nothing ever happened.

Virtualization

Virtualization has not changed. Virtualization needs to change since while it is possible to run VMs on TN, the GUI leaves much to be desired. By far Proxmox owns this space and it doesn't seem like TN wants to challenge this with the latest release. If you only have one server and have to run both storage and VMs, fear not. As long as you do not need to be very hands-on with your VMs once they are up and running you will be fine. I think its hard to compare anything to Proxmox because it just does everything so well. That isn't to say TN is bad, its just not as good. At all.

One to Rule Them All?

I think we have taken a great step further with Electric Eel to have a single server OS which does storage and containerization well. I think there is definitely some ways to go compared to the slick UI of things like CasaOS and other web-based management systems, but this really is a solid move in the right direction.

I would have no issue running both my NAS and my containers on TN and feeling totally fine. If I did VMs more seriously, I would want to do both Proxmox and TN, but for simple containers and rock-solid storage, this is a great OS for both beginners and advanced sysadmins.