Dragonfish to ElectricEel - experiences and snagging issues (ddns-updater, plex-server))

Because of the impending June 1st deadline for automated application migration I just bit-the-bullet, took screen shots of my Dragonfish app settings and upgraded to 24.10.2.2.

The upgrade and app migration went extremely smoothly - and the server rebooted fine and all apps started fine. Overall a VERY smooth and successful upgrade. Thanks to all the iX folks that made that happen.

My Unifi app also seems to now use about 1/2 the memory it used to - previously > 1GB, now c. 520MB. On my memory constrained server, this is a big deal!!

I do have two minor snagging issues, however:

  1. ddns-updater is sticking in Deploying status despite it fully working and the UI page being accessible - and the app stats (CPU, memory etc.) are consequently all saying “N/A”.

  2. plex-server is running permanently at at-least 100% on one CPU core and sometimes up to 90%+ across several CPU cores despite it being idle.

  3. plex-server is using the Plex Pass Image (which is 4 years old) rather than the Plex Official Image. I haven’t checked whether the 24.04 app was set to use this, however I do know that it used to get regular updates (and wasn’t stuck on a 4-yo version). Should I change this to Plex Official Image, am I likely to get any issues if I do, and would there be any problems switching back to the Plex Pass Image if I need to?

Has anyone else experienced these problems and/or know the solutions?

Finally…

Am I right in thinking that once I am certain I don’t want to revert back to 24.04, then I need to do only the following to clean-up after the upgrade?

  • Delete the 24.04 boot image
  • Delete the ix-applications dataset
  • Upgrade the pools to the new feature flags

It seems to be that when this happens it can be due to a faulty Docker healthcheck. You can verify what Docker itself says about it by running sudo docker ps and looking at the status column.

If ddns-updater is from the official apps catalogue then I recommend you post a bug report in the apps github.

Edit: You could verify the current healthcheck by entering the container shell and running /updater/ddns-updater healthcheck manually to observe how it responds.
Source: apps/ix-dev/community/ddns-updater/templates/docker-compose.yaml at 96893374aed2bf31d64069285d47e5ea388b17f5 · truenas/apps · GitHub

Re: Plex Server CPU usage

I went into the Plex settings and reduced the maximum amount of memory it was allowed to use (it was actually a mistake - I meant to do it for Unifi) and when it re-deployed, its CPU was normal.

I suspect that some config file produce by the migration script had a minor issue, and changing this setting and rewriting the config file fixed it.

I was wrong - after it had fully deployed, CPU was back to c. 85%.

I just went to try this and the shell wouldn’t connect.

CONTAINER ID   IMAGE                         COMMAND                  CREATED         STATUS                            PORTS                                                                                                                                                              NAMES
735848f55ee6   qmcgaw/ddns-updater:v2.9.0    "/updater/ddns-updat…"   5 minutes ago   Up 5 minutes (health: starting)   8000/tcp, 0.0.0.0:30007->30007/tcp, :::30007->30007/tcp

Okay, that’s strange.
You could trying passing a command to it using docker exec instead:
docker exec ddns-updater /updater/ddns-updater healthcheck

Mind you, the “docker exec ddns-updater”-bit may need to be adapted to the name used by iX’s catalogue, the name should be visible at the end of the sudo docker ps line you posted, but it appears to have been cut off.

Ok - ddns issue solved. I needed to go into the ixVolume and delete the updates.json file - looks like a bug in ddns-updater (which I have reported).

Plex has now settled down to 0% CPU on idle - nothing I did, so it may have been updating its metadata or something.

So - the actual issues are both resolved - now only questions about plex docker image and clean-up to resolve.

1 Like

From their github app repo:

image:
repository: plexinc/pms-docker
tag: 1.41.6.9685-d301f511a
plex_pass_image:
repository: plexinc/pms-docker
tag: plexpass

I’m not sure why they define both plex pass and not, they are using the same image (looking at the digests at https://hub.docker.com/r/plexinc/pms-docker/tags )

If you want to move to your own custom compose, iX added a new feature that will allow a single direction migration from catalog to custom yaml. THat way you can choose whichever image you want. Have no idea why they aren’t promoting this more!

Plex Pass Image is the plexpass docker tag and is c. 4 years old.

Plex Official Image is the docker tag of an explicit version number administrated by iX as and when a new version is released.

What is most remarkable is that on my 10GB memory system, I used to have system used of 6GB and ARC of 3GB and now I have system used of 3GB and ARC of 6GB.

Obviously on sensibly sized systems with much more memory, this is a small gain, but on small systems like mine this is a BIG deal.

Very possible the plex app config option for plex pass image doesn’t do anything. I have the plex pass image selected but my plex server is using Version 1.41.6.9685.

And yes, the move away from k3s has a pretty large impact on a typical home nas. Went from a constant load of .2 or .3 to basically idle. CPU usage dropped from 6-8% of a 8700k to 0-1%.