Tripping at the first hurdle with new Apps in Electric Eel - pool selection

So I just upgraded to Electric Eel. Opened Apps.
There’s a message: Apps Services Not Configured.
I figure: I’d better do and see what that is all about then so I can get it configured.

After a quick diversion into the wrong version of help, even though I know I selected 24.10 previously, hello cookies please? I find this help:

In Getting Started:
You must choose a pool before you can install an application. See Advanced Guidance below for more information about apps pool selection.

So setting the most basic, primary setting, the pool that Applications should use, requires Advanced Guidance?

That Advanced Guidance link takes you to:

App Pool Selection

We recommend users keep the container use case in mind when choosing an applications pool.

OK how do I keep the use case of applications in mind when I don’t know in the future what apps I will be wanting to install?

Select a pool with enough space for all the application containers you intend to use.

Has enough space. Got it. I’m picking out all the things that aren’t being said, so I probably shouldn’t complain about the inclusion of stuff that probably doesn’t need to be said.

For stability, we recommend using SSD storage for the apps pool.

That sure is ominous. I don’t have a chunk of unused SSD hanging around for me to create a pool for my Apps. How screwed am I? Why hasn’t installing apps onto spinning iron been a problem before, but all of a sudden now Apps need SSD storage ‘for stability’? Where is the instability coming from?

OK, there’s a bit more, but not relevant to choosing a pool, I don’t think. Let’s return to where we jumped away to Advanced Guidance:

Choosing the Application Pool
You are prompted to select the pool for apps the first time you click on Apps. You can exit out of this if you are not ready to deploy apps or do not have a pool configured for apps to use for storage. You must set the pool before you can add any application.

We recommend keeping the application use case in mind when choosing a pool.

Deja vu.

Select a pool with enough space for all the applications you intend to use.

Deja vu.

For stability, we recommend using SSD storage for the applications pool.

Deja vu.

If you want to set up new datasets to store your application data in a location separate from other storage on your system, create the datasets before installing the application. For example, create the datasets for the Nextcloud app before installing the app.

This is in the ‘Choosing the Application Pool’ section. Why is stuff about creation of datasets for apps that aren’t even installed yet in a section about how to choose the application pool?

If you go into Apps with the mindset to see what’s it about, do that, try, fail, learn.

If you do know what apps you want to use, list them here so that others have a chance to share their experiences.

Sorry you’ve had such a frustrating experience dipping your toe into apps @JeremyT. We’ve been actively working on improving the apps documentation for the past few months, to coincide with the updated back end in 24.10. I’ll keep the areas you found confusing in mind as we look to further refine it.

First as a general point, as I believe you started to notice, our documentation is split into a few sections, the UI reference and tutorials sections. The UI reference is meant to be a more straight-forward description of the configuration options shown in the UI, while the tutorials typically provide fuller, narrative instructions.

As noted in the 24.10.0 release notes and in admonition banners on the apps documentation, starting with this version we have moved to hosting the apps UI reference articles with the versioned documentation but have moved all app tutorial content to the unversioned TrueNAS Apps section. This is because app development is not necessarily tied to TrueNAS major version releases and we want to be able to keep the most up-to-date versions of our tutorials possible.

Now to see if I can address a few of your questions:

You know better than we do what your intended use case and data structure is for applications. Are you planning to host a handful of applications or two dozen? That might affect the size of the app pool you’ll want available. Will you be using applications that require constant logging or relatively lightweight applications? You might prefer flash storage if the apps pool will be the site of that logging. Are you going to be hosting your app data storage on the app pool, either as iXvolumes or host paths defined on that pool, or are you going to use the apps pool for basic train and configuration data while mounting host paths to another pool on your NAS? That will also affect how large your apps pool needs to be.

It was discovered in 23.10 and 24.04, with the previous apps implementation, that users hosting their apps pool on spinning disks were far more likely to develop a few different issues that led to their app service failing. Due to their faster speed and resilience for repeated read/writes, flash storage was more robust when it came to hosting the apps pool.

Docker is a lighter apps back end than k3s was, so we don’t expect this to be as much of an issue in the new apps system, but we decided to leave the recommendation in as a general best practice.

Mea culpa. As I said, multiple people have been working on that document and it looks like we missed that the same information was being included in two separate locations. I’ll look at reorganizing and streamlining that.

Partially because I imagine whoever included that note here was thinking that like choosing an app pool this is a prerequsite step that you’ll need to take before installing any applications you intend to install. But I agree that would be better moved a little further down the tutorial to the Installing Applications section.

Hope that helps clear some things up for you.

2 Likes