Migrating from TrueCharts

The topic of migrating TrueCharts apps has been asked before. As far as I can tell, the popular advice is to become a “package maintainer,” using a project’s docker image and performing the necessary configurations.
While this is undoubtedly the most flexible solution, the list of my apps is contained in the official TrueNas catalog. I prefer to minimize the setup required or learn the technical aspects of docker (or depend on a project, like jailmaker, which could end up unsupported in future versions of TrueNAS).
I believe that I can easily convert the settings of the apps to TrueNas apps, copying configuration files when necessary.
The main challenges are:

  1. referencing apps internally, for example, having prowlarr, sonarr, radarr, and jellyfin reference each other
  2. use network configuration to have the apps be accessible by names both internally in my home and remotely (traefik, blocky, wg-easy, cert-manager, …)

I’d appreciate a “how-to” guide on how to address these issues, and if the solutions necessitate using docker and jailmaker (or something similar), then perhaps I’ll take the “plunge” and use docker throughout for all apps

Well,

A popular solution is to develop your own declarative definition of your app with compose.

That is done with jailmaker+docker in dragon fish.

But as Electric Eel directly supports docker compose, the “stacks” can be migrated out of the jailmaker sandbox and onto native Eel docker quite easily, as demonstrated in this video

You can put the containers on the same “docker network” and then refer to each other via dns

While Eel does have apps, they are missing features at the moment you may require, and you cannot work around that. When eel’s apps are more full featured (reverse proxy support, networking etc) it might not be necessary to use compose for advanced setups, but that is not now.

2 Likes

Thanks @Stux ,
You mention the upcoming Electric Eel version, but my server is currently on Cobia, and I haven’t upgraded yet to Dragonfish for fear of losing the functionality of my installed Truecharts apps

What do you suggest I do now?
Do you suggest I upgrade to Dragonfish and then follow the Jailmaker instructions? Do the instructions cover my questions on inter-app referencing and reverse proxy networking?
Will the upgrade cause all my truechars apps to stop working? Could I still access their settings?
Will I be able to easily migrate the jailmaker+docker setup to native apps in future TrueNas versions when their features cover my requirements?

Install Jailmaker 1.x in Cobia, which will work fine. 2.x requires Dragonfish.

Then upgrade to Dragonfish at leisure. You won’t even need to update Jailmaker actually.

[opinion]
In my opinionated personal view, and one which is made with the benefit of hindsight …

  1. iXsystems was RIGHT to allow community generated apps to have almost equal “billing” in the app catalogue.

  2. iXsystems was WRONG to allow a community generated CATALOGUE to have a place on TrueNAS - because it can create exactly the situation we now find ourselves in.

  3. However, not having a Community catalogue - and expecting users to roll-their-own docker solutions for any app not in the iXsystems supported catalogue - is NOT a good solution either. This means users need a much greater degree of technical skill to implement apps, even if e.g. there is a repository of instructions or scripts held somewhere.

For the new ElectricEel infrastructure, I would personally like to see:

  1. An official TrueNAS catalogue of apps supported by iXsystems.

  2. An official Community catalogue of apps supported by the Community, but with the cataogue owned by iXsystems. Changes to this catalogue could be controlled by iXsystems and / or by community members chosen by iXsystems - but ultimately iXsystems could e.g. decide to make a community app and official one or vice versa.

  3. Publication of the documentation for the migration functionality produced by iX to migrate TrueNAS Charts to docker equivalents so that the community can add migration capability from a TrueCharts app to its equivalent TrueNAS Community docker app.

[/opinion]

I’m not going to go look for it right now, but isn’t this akin to something iX have said is the idea?

It could also be my memory playing tricks on me.

I have made the suggestion previously elsewhere here. I have not personally seen anything about this, but it is quite possible that iX have already decided to do something like this and have said so.

As far as i can remember someone from iX said that there will be only the officiel iX catalogue, that’s open to additions from the community and that there won’t be second party catalogues anymore.

Yes, that does sound familiar.
So the kicker will be how additions from the community will be handled practically.

Pull requests?
“I would like this app added”-submission forms?

Thanks for your suggestion
Regarding the installation of 1.x, I see in the releases page that version 1.50 is the last version before 2.x
Do I use that version with the current instructions? I don’t see separate instructions for 1.x versions (I could try and find the version of the README file from the 1.50 commit…)

Here’s the readme for 1.5

Main difference is that 2.0 removed the install option needed for Cobia.

It also removed some deprecated stuff that was already deprecated in 1.5.

My video was made with 1.3 or so.

I’d suggest following my install instructions (ie ‘git clone`)

But instead after the clone run git checkout v1.5.0 to switch versions.

Then you can proceed with the install.

On dragonfish you can switch back to main if you choose.

1 Like

When I was building a new storage/media server in Jan 2023, if it hadn’t been for TrueCharts I would have picked a different platform. Why? The iX catalog had, and still has, around a dozen apps. As much as people won’t admit it, Truecharts was a repo that brought people to Scale.

As for migration, each app would need config/data pulled out at minimum. And that would be needed for each truecharts app. I’m sure the common ones could be done easily. Honestly, the issues stem from iX’s and truecharts’ decision to bury app config/data instead of having easy to reach binds/mounts.

1 Like

The last count I had was over 100. Yes, TrueCharts had far more. Yes, they were far better. But let’s be fair to iX–even though it’s increasingly obvious they don’t really want to do apps (as shown by their track record of abandoning app/plugin platforms because they’re “too much work” to maintain), their catalog isn’t that limited.

1 Like

Thanks. I started following your instructions. I guess I’ll have to learn some docker basics, it can’t hurt…

In the meantime, the reason for the migration is that my truecharts home-assistant app stopped working. Before I master the necessary skills to get a jailmaker/dockage solution working, I want to have the truenas app up and running in the meantime. I have a backup of home-assistant configuration files, but I don’t know how to access the app’s directory so that I can copy the backup files (I used the app’s defaults for storage)
I tried using heavyscript, but it didn’t mount the app’s data since it “does not contain any PVC’s”
How can I access the app’s directory?

Are you confusing official and community. The Community repo didn’t start until the first truecharts refactor?

With the change to docker, they really don’t have to maintain official apps. I haven’t installed beta EE, so not even sure how they will handle community ones. Maybe just templates with easy config to get people started? It’s not like iX, community or truecharts were creating their own docker images, those are coming from projects maintained by other people.

@hnn You could just add an extra hostpath mount into apps, shell in then copy things you need. Then install the official/community app, add that extra mount and copy data back? I wouldn’t delete the old truecharts apps until everything is working :wink:

I’m considering everything in the iX catalog to be “official,” at least official enough. But if I turn off the community train and turn on the enterprise train (which surely would be official), there are 17, two of which are from the enterprise train (and both of which duplicate apps from the “charts” train).[1] So if you consider only “official” apps, “around a dozen” is correct–but your claim was about “the iX catalog,” which currently has 107.

I’ve heard this claim before, but it honestly makes no sense to me. If iX want users to have the ability to point and click to install a piece of software,[2] then they need to curate and maintain an app catalog. “Here’s a text box, paste in whatever compose file you like” simply isn’t comparable. It appears, based on many of the most vocal posters here, that’s all a lot of people want, and I suspect it won’t be long before that’s all iX gives, but it isn’t the UX they’ve been promising for 15 years.

I don’t in the least object to “paste in a compose file” as an option, but to dispense with an app catalog and make it the only option would be a significant regression. And time will tell, but I expect that’s where we’ll be in a few years.


  1. …which makes for a stark comparison. iX has paid, full-time engineers, and managed to create 15 apps. TrueCharts are all volunteers, and have nearly 800. iX’ claim that Helm charts are “too much work” rings hollow. ↩︎

  2. which has been the promise for ~15 years, all the way back to FreeNAS 8.0, even though it hasn’t worked very well until SCALE ↩︎

Before mid april 2023, there was only official. Community hadn’t started yet. So not really a claim, but history. Which is why truecharts apps were a big draw to using Scale at the time. And why so many people are in a pickle moving forward. iX doesn’t have the manpower and truecharts left.

I would imagine iX has telemetry on what their paying customers are using. They’d be putting their engineers on things that bring in money.

Funny that truecharts volunteers have 800+ but the iX volunteers only have 107. It does take effort and just like everything else that’s free, use what someone else has built or build it yourself.

I’d imagine the community repo will have a lot more apps once Helm/Kube is gone. At the repo end, it’s just building question.yaml and pointing to a project docker image? Basically keep the same App UI with questions/answer.yaml then parse it to compose.

17 “enterprise” apps sounds to me like a reasonable number of popular apps for iX to think important enough to make their hardware be competitive with e.g. Synology or Qnap etc. and so generate some revenue.

It is not IMO reasonable for us (the community) to expect iXsystems to maintain and curate and support several hundred apps. I believe that the community should be responsible for curating and supporting the other 800+ apps, and I believe that this community is both willing and capable of doing that.

But what is needed is the means for governing this. Who decides what apps get included, and what changes should be approved? Even if iX delegates creation, maintenance and support of most apps to the community, simply processing the Pull Requests will be a massive activity.

Thus, IMO, the governance needs to have 3 levels of apps:

  1. iX “enterprise” apps (10-30) - entirely maintained by iX staff - community PRs might be disallowed, or they might be considered but probably only rarely accepted.

  2. iX governed apps (perhaps another 100) - a second tier where PRs can come from iX or the community, but where iX staff control the acceptance or rejection of PRs. Apps in this tier would be more apps that will generate sales for iX but which are not sufficiently important for iX to spend time maintaining (thus largely relying on the community to maintain) but apps where stability and oversight / governance by iX is still a requirement.

  3. Community apps (the rest) - a third tier of apps entirely maintained and supported and governed by the community under delegated authority from iX. In this case there probably needs to be a core team of community people who have the interest and the expertise and the time to manage the mass of PRs that will need to be generated, reviewed and approved.

If this model is to work, then the relevant infrastructure and governance will be needed from iX.

You’ve essentially described the existing “levels” of apps in Electric Eel and going forward.

There are three separate trains for apps: Enterprise, Stable, and Community.

Once we’ve completed the migration of all previous apps and stabilized the new apps framework, the readme will be updated with contribution instructions.

2 Likes

There are two enterprise apps: Minio and Syncthing.