How to change icon of custom app?

I have a binhex/arch-qbittorrent as custom apps deployed via Docker Compose and I was looking how to change the icon. I could you could do it on Dragonfish but I can’t seem to find the parameter for Electric Eel?

1 Like

I had a similar issue;

I ended up editing this file
/mnt/.ix-apps/metadata.yaml

And adding

metadata:
icon: {some url}

It would be nice as a feature to add that capability to the UI though.

That’s what I did but didn’t work. Or maybe I can’t use a local file?

I personally went with the applications web browser icons, which seemed to work.
e.g. http://{hostname}:8765/favicon.ico
I found them by looking at the html of the specific application.

Try file:////{path to file}, play with the number of slashes after file:

Please let us know what worked.
Thanks.
Chris.

This method works but is not persistent as this files get overwritten every time an app gets added or removed from Truenas.

@Gamix , I made it work by putting the “Icon” line within the METADATA section of the app.

just to make it clear for everyone it needs to be edited here /mnt/.ix-apps/app_configs/APPNAME/metadata.yaml

not here /mnt/.ix-apps/metadata.yaml

how it will behave when there is an update for the custom app I can’t say yet

3 Likes

People interested in doing this should vote for this feature

Seems to be persistent, same with adding webportals.

Seems that something in middleware triggers the addition. I’ve changed various custom app metadata.yaml and they only change if you do some other docker addition/update/deletion. Be nice to know exactly what the trigger is so I can just run it when I make a change.

And voted for this feature req just after EE was release :slight_smile:

This doesn’t seem to be working in ElectricEel-24.10.1 - under the metadata section, I am trying both:

icon: (url)

and

icon: /path/to/icon.png

and neither are showing the PNG for the icon.

root@TrueNAS:/mnt/.ix-apps/app_configs/freshrss# nano metadata.yaml

custom_app: true
human_version: 1.0.0_custom
metadata:
  app_version: custom
  capabilities: []
  description: This is a custom app where user can use his/her own docker compose
    file for deploying services
  home: ''
  host_mounts: []
  maintainers: []
  name: custom-app
  run_as_context: []
  sources: []
  title: Custom App
  train: stable
  version: 1.0.0
  icon: https://aiskon.net/dockericons/freshrss.png
migrated: false
notes: null
portals: {}
version: 1.0.0
2 Likes

Edit the yaml-file again and save it.
The icon will appear later.

1 Like

Thank you! I did an edit of the compose.yaml file from the TrueNAS UI, and this forced the app to update, showing the new icons.

Everything looks wonderful now, and it’s all my own Compose files!

Thanks, after reading your post I understood my mistake. I’ve placed the icon on the bottom of the metadata.yaml when it should have gone inside the metadata:

Then I did an update of my custom app and it works.

I followed these two salient points

and

and I too now have custom icons for my apps (ElectricEel 24.10.2)

1 Like

If you are using caddy or other proxy, or any app that provides http or https pages, better to house them locally. Couldn’t ever get file:/// to work so went with local http address. Screen displays faster for me.

Hi folks, I did this recently and have tried updating my icons. I have updated the metadata.yaml under /mnt/.ix-apps/app_configs/APPNAME/metadata.yaml. But reloading the docker_compose and even restarting the machine dont’ seem to work and have truenas pick up the updated metadata.yaml

1 Like

Tried this as well, didn’t work for me.

Assuming you are on Eel, why not post your metadata.yaml file so we can see?

Here’s what I created

custom_app: true
human_version: 1.0.0_custom
metadata:
  app_version: custom
  capabilities: []
  description: Cisqua is a powerful and intuitive AniDB client and local anime library management tool. With Cisqua, users can effortlessly search, organize, and track their anime series with data directly sourced from AniDB, ensuring a rich and up-to-date repository of anime information.
  home: https://github.com/pathsny/cisqua
  host_mounts: []
  icon: https://github.com/pathsny/scale_apps/blob/main/charts/cisqua/2.0.3/cisqua.png
  kewords:
  - media
  - anime
  maintainers: []
  name: custom-app
  run_as_context: []
  sources: []
  title: Cisqua
  train: stable
  version: 1.0.0
migrated: false
notes: null
portals: {}
version: 1.0.0

Notice that nothing in my metadata has affected how the app looks.

I think you want this:

https://raw.githubusercontent.com/paths`ny/scale_apps/refs/heads/main/charts/cisqua/2.0.3/cisqua.png