Applications UI Lands in SCALE Nightly Images

Kris Moore

SVP of Engineering
Administrator
Moderator
iXsystems
Joined
Nov 12, 2015
Messages
1,471
Just dropping a quick heads up that the long-awaited initial support for our Applications UI has now landed in the SCALE nightly images and will be available in the 20.12 release in the coming days. As usual you can read more and get started using SCALE by taking a look at the Developer notes page:

Developer's Notes | TrueNAS Documentation Hub

Of course feedback and bugs report are welcome!
 
Last edited:

morganL

Captain Morgan
Administrator
Moderator
iXsystems
Joined
Mar 10, 2018
Messages
2,694
The Applications UI is the UI which manages Kubernetes and allows Docker containers to be run.
 

ksimm1

Dabbler
Joined
Dec 7, 2020
Messages
42
Can you provide an example of how the applications UI setup maps to a typical docker compose file?

Particularly the 'Container CMD' & 'Container ARG' fields, 'Host Path Volumes' and 'Volumes'. I was able to get a basic sabnzbd image along with the correct port mappings, going but the volumes & datasets aren't quite right
 

Kris Moore

SVP of Engineering
Administrator
Moderator
iXsystems
Joined
Nov 12, 2015
Messages
1,471
Can you provide an example of how the applications UI setup maps to a typical docker compose file?

Particularly the 'Container CMD' & 'Container ARG' fields, 'Host Path Volumes' and 'Volumes'. I was able to get a basic sabnzbd image along with the correct port mappings, going but the volumes & datasets aren't quite right

In this case you're probably thinking of host paths, which are how you map storage on /mnt/<pool>/<directory> to inside your container. Can you provide some examples of where you think its going wrong, or how you are using it?

FYI - Its also on my list to test using https://kompose.io/ to try and convert a docker compose file to helm chart, and load that way. Hopefully will find some time for that next week ;)
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
There are some discrepencies between Docker and K8s healthchecks though...
 

tallnerd1985

Dabbler
Joined
Dec 1, 2016
Messages
10
Question if I may but who manages the Official Apps in the Catalog and is it possible to request more applications to be added to the list?
 

morganL

Captain Morgan
Administrator
Moderator
iXsystems
Joined
Mar 10, 2018
Messages
2,694
The initial Apps are just that....initial. IXsystems will both add more and make it easier for users and community to add their own.

With this TrueNAS SCALE 20.12 software any container or Kubernetes Helm chart can be added. The small number of built-in application is there mostly for proof-of software and testing.

We'll give priority to users of SCALE... please make your suggestions and let us know why loading a Container or Helm Chart is not OK.
 

tallnerd1985

Dabbler
Joined
Dec 1, 2016
Messages
10
Oh, there is nothing wrong with Containers or Helm Charts, I was just curious about how the Official applications get loaded and who actually makes them. I wasn’t sure if a poster on the forum creates a template for let’s say “Home-Assistant.io” or if it has to be a dev that creates it ultimately.

Coming from a simple setup of Ubuntu with ZoL and a docker compose setup on single server hardware, I think the vast majority of similar users are gonna have a hard time understanding the dichotomy between docker-compose vs Helm Charts. Anything with “Kubernetes” in a Google search always points to a cluster of nodes vs the average user with only a single node setup.

I think in the Dev Notes section, a tutorial or example on taking a popular application/image and setting it up in the Application UI would help guide more users in the right direction based on what your team envisions for setting up applications.
 

morganL

Captain Morgan
Administrator
Moderator
iXsystems
Joined
Mar 10, 2018
Messages
2,694
I think in the Dev Notes section, a tutorial or example on taking a popular application/image and setting it up in the Application UI would help guide more users in the right direction based on what your team envisions for setting up applications.


There is an example at the bottom in the SCALE devnotes: https://www.truenas.com/docs/hub/scale/dev-notes/

More documentation will follow in Q1. In the meantime, please ask any specific questions.
 

thomasesrichter

Dabbler
Joined
Jan 18, 2019
Messages
15
The initial Apps are just that....initial. IXsystems will both add more and make it easier for users and community to add their own.

With this TrueNAS SCALE 20.12 software any container or Kubernetes Helm chart can be added. The small number of built-in application is there mostly for proof-of software and testing.

We'll give priority to users of SCALE... please make your suggestions and let us know why loading a Container or Helm Chart is not OK.
I'm heaving trouble installing the Plex application using the TrueNAS SCALE UI. There is no option to set the PLEX_UID and PLEX_GID environment variables, If I try to manually add them the installer throws and error:

Code:
Error: [EFAULT] Failed to install catalog item: b'Error: Deployment in version "v1" cannot be handled as a Deployment: v1.Deployment.Spec: v1.DeploymentSpec.Template: v1.PodTemplateSpec.Spec: v1.PodSpec.Containers: []v1.Container: v1.Container.Env: []v1.EnvVar: v1.EnvVar.Value: ReadString: expects " or n, but found 1, error found in #10 byte of ...|,"value":1002},{"nam|..., bigger context ...|etadata.namespace"}}},{"name":"PLEX_GID","value":1002},{"name":"PLEX_UID","value":1001}],"image":"pl|...\n'


I can't access my media without it, if I manually install the docker image and set the environments it works flawlessly. I've checked the helm script in the catalog files and there is the plexgid and plexuid options but they are commented out.
 

thomasesrichter

Dabbler
Joined
Jan 18, 2019
Messages
15
The initial Apps are just that....initial. IXsystems will both add more and make it easier for users and community to add their own.

With this TrueNAS SCALE 20.12 software any container or Kubernetes Helm chart can be added. The small number of built-in application is there mostly for proof-of software and testing.

We'll give priority to users of SCALE... please make your suggestions and let us know why loading a Container or Helm Chart is not OK.

Also, it would be nice to be able to git clone a collection of helm charts from git repositories such as https://github.com/k8s-at-home/charts for instance. Give users the flexibility to choose or build their own catalog of applications to distribute and maintain. Can it be standardize into a file that the webgui can parse and present?
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
Also, it would be nice to be able to git clone a collection of helm charts from git repositories such as https://github.com/k8s-at-home/charts for instance. Give users the flexibility to choose or build their own catalog of applications to distribute and maintain. Can it be standardize into a file that the webgui can parse and present?
I'm going to work on that in the next few weeks.
But no: It is not that easy, because the UI elements are not part of the official helmchart format.
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
I'm heaving trouble installing the Plex application using the TrueNAS SCALE UI. There is no option to set the PLEX_UID and PLEX_GID environment variables, If I try to manually add them the installer throws and error
Those are env vars, you should be able to add them as envvars, but you can't just feed the IX installer variables it doesn't know about.
Add them to "extra env"
 

maciekb

Cadet
Joined
Nov 23, 2016
Messages
6
Cluster CIDR defaults to 172.16.0.0/16, which can conflict with other networks configured elesewhere. This should be more intelligent and check if network is not used elsewhere (even with narrower mask) OR there should be dialog asking what network should be created. For now, after initial install i'm always need to disable k8s bridge and change addressation of the cluster.
 

maciekb

Cadet
Joined
Nov 23, 2016
Messages
6
I'm going to work on that in the next few weeks.
But no: It is not that easy, because the UI elements are not part of the official helmchart format.
Why UI elements are not part of the official helmchart format? Isn't better to adopt something existing that works, than create another format? This would simplify the quick adoption of new applications allowing the use of the existing repository.
 

Kris Moore

SVP of Engineering
Administrator
Moderator
iXsystems
Joined
Nov 12, 2015
Messages
1,471
Question if I may but who manages the Official Apps in the Catalog and is it possible to request more applications to be added to the list?

iX App Charts are basically standard Helm Charts + a few extra files for UI questions at install time. We've got some prelim instructions on how to build them here:

https://github.com/truenas/charts

We're still working through what the process of how community derived charts will appear in the UI, parts of that expect to land in Q1. In the meantime, you can open a suggestion ticket on jira.ixsystems.com if you want a specific one, or create a pull request to the git repo above if you have made your own chart.
 

Kris Moore

SVP of Engineering
Administrator
Moderator
iXsystems
Joined
Nov 12, 2015
Messages
1,471
Cluster CIDR defaults to 172.16.0.0/16, which can conflict with other networks configured elesewhere. This should be more intelligent and check if network is not used elsewhere (even with narrower mask) OR there should be dialog asking what network should be created. For now, after initial install i'm always need to disable k8s bridge and change addressation of the cluster.

Fair enough. Perhaps on the initial "pool activation popup" we can add some note there to mention what the default CIDR is, and a link to change it. Suggest opening a bug ticket on jira.ixsystems.com and we'll take a look at that.
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
Why UI elements are not part of the official helmchart format?
Thats something you need to ask the Helm developers. But I think they are going to explain "Helm" doesn't have an UI. ;-)

Isn't better to adopt something existing that works, than create another format?
Sure it is, but there is no standardised format for UI elements in helmcharts.
However: the UI syntax in for the UI elements is pretty similair to the (standardised) syntax to verify json or yaml files.

This would simplify the quick adoption of new applications allowing the use of the existing repository.
I can get most of the currently supported plugins PR'ed this week.
I know what to do and how to do it, because i've already been experimenting both with helmcharts and have experience creating custom indexes both for TrueNAS Core plugins and helmcharts.
It's not hard to port Helm charts to support the IX UI, it just needs a bit of a time investment.
 

ornias

Wizard
Joined
Mar 6, 2020
Messages
1,458
Fair enough. Perhaps on the initial "pool activation popup" we can add some note there to mention what the default CIDR is, and a link to change it. Suggest opening a bug ticket on jira.ixsystems.com and we'll take a look at that.
To be fair: It's sublimely stupid to run the docker default internal network CIDR as an actual network.
But it should be covered none-the-less.
 
Top