Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Docker update/version "not available"

Featured Replies

I'm wondering if someone can help with a published Unraid+Docker app problem.  I've built 2 containers and published them to CA.

 

One of the containers (phvalheim-server) show updates "not available". The other (intel-gpu-telegraf) works fine.  The .xml templates are very similar and I can't seem to figure out how to fix this.  I'm getting complaints from people using Unraid that this new container (phvalheim-server) is showing "not available" on everyone's installation.  Including mine and two of my test systems.

 

The only search results I find are related to all containers having this issue which is DNS related or a bug prior to 6.9.  I'm on 6.11.5 and all versions since creating this container have had this issue.

 

 

Template for phvalheim-server:

https://github.com/brianmiller/docker-templates/blob/master/phvalheim-server/phvalheim-server.xml

 

Template for intel-gpu-telegraf:

https://github.com/brianmiller/docker-templates/blob/master/intel-gpu-telegraf/intel-gpu-telegraf.xml

 

 

Here is a screenshot showing the issue.

image.png.0aa5b593672c62839c1e4d6c13c8b63c.png

 

My other container works fine.

image.png.05f3b65c04634f5cd5c88698002aaf04.png

 

Any help is appreciated.

 

 

 

-Brian

Solved by TheBrian

Without trying to hijack your thread...  I'm having multiple containers that do this and I don't have the answer. I can find the 'broken link' on dockerhub and can't say it is always a specific docker over another (I have several that do this and several that don't).  However I have found if you 'force update' the container it returns to an up to date status.  I haven't seen any commonalities and I'm just starting to research the problem here in the forums when I found your thread.

  • Author

You're likely having the same issue. I use other containers from CA that I didn't author and also have this issue.

  • Author

It looks like we're alone on this one.

  • Author
  • Solution

I figured it out. This isn't a CA or unRAID issue. It's OCI compatibility with DockerHub.

 

Hopefully this can help someone else.

 

My debugging process:

 

I grepped through the entire directory /usr/local/emhttp/plugins/dynamix.docker.manager/include for "not available" which is the HTML label shown in the Unraid Docker UI

image.png.3123cff5eeb58e63bbeab43d1e230d91.png

 

To prove to myself that I found the right label, I added the "!" you see in the screenshot above.  This label is inside a case/switch condition. I.e., 0="up-to-date", 1="update ready", 2="rebuild ready" else, "not available" within the DockerContainers.php file. My containers were returning a NULL value which results in the "default/else" (not available message). This condition evaluates the variable "$updateStatus". This variable is set by an array read of the $info['updated'] array element.  This variable is set by DockerClient.php and where most of my debugging occurred.

 

/usr/local/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php: I added the following to the "getRemoteVersionV2" function to assist in debugging.

$file = '/tmp/foo.txt';
file_put_contents($file, PHP_EOL . $image . '(' . $manifestURL . ')' . '   ', FILE_APPEND);

 

This sent me on a reverse engineering journey and helped me create a little test script:

#!/bin/bash
repo="theoriginalbrian/phvalheim-server"
TOKEN=$(curl --silent "https://auth.docker.io/token?scope=repository:$repo:pull&service=registry.docker.io" | jq -r '.token')
curl --header "Accept: application/vnd.docker.distribution.manifest.v2+json" --header "Authorization: Bearer $TOKEN" "https://registry-1.docker.io/v2/$repo/manifests/latest"

 

The output of this little test script:

{"errors":[{"code":"MANIFEST_UNKNOWN","message":"OCI manifest found, but accept header does not support OCI manifests"}]}

 

A bit of research landed me in DockerHub API documentation...in short, OCI images do not contain the SHA256 image digest (at least in the location DockerHub expects). 

This led me to look at how I'm building my images. My dev system is just a simple Rocky 8.6 (EL) VM, which runs podman. By default, podman builds in the OCI format.  Simply passing "--format=docker" to my podman build command solved the issue.

 

Results:

 

After clicking "check for updates":

image.png.c2e1f5241f4d300d17c71a29480772e7.png

 

After clicking "apply update":

image.png.97fde7b211e860c3be28fc66d40bc6a2.png

 

After clicking "apply update" and "check for updates:"

image.png.70c233db7ccb50f6bb18a1cd989d35f8.png

 

 

TL;DR: add "--format=docker" to your docker/podman build command.

 

-Brian

 

 

 

 

Edited by TheBrian

Wow... I'm impressed with the sleuthing you went through.  If no one else says so... Thank you... especially for the TL;DR..😀  aka, above my head, about half way through.  LOL

  • 4 weeks later...

Nice work @TheBrian!!

Is there somewhere in Unraid GUI where I can add this line?

Edited by PaulV86

Just to note that I'm having the same issue on a few dockers. At first I thought it was because I had an issue with my DNS (pihole) but changing unraid DNS to use 1.1.1.1 and 8.8.8.8 didn't fix.

 

To add assault to injury, when I try to add --format=docker as an extra parameter as suggested above, the docker don't compile anymore :( I receive the following error message: 

  -u 99:100

  --format=docker 'coderaiser/cloudcmd'

unknown flag: --format

 

Any assistance will be appreciated!

Here to. I do have this problem on to Dockers at the moment. It appears when an update is available

image.png.dfcb3d151ee908187fcb307dda25345b.png

 

It is not only with Unraid. I did read some more topics people having the same problem on other platforms

1 hour ago, canedje said:

Here to. I do have this problem on to Dockers at the moment. It appears when an update is available

image.png.dfcb3d151ee908187fcb307dda25345b.png

 

It is not only with Unraid. I did read some more topics people having the same problem on other platforms

 

Hello,

 

Please check the thread that I just made about this issue. My solution might help you too.

5 hours ago, Guesch said:

Just to note that I'm having the same issue on a few dockers. At first I thought it was because I had an issue with my DNS (pihole) but changing unraid DNS to use 1.1.1.1 and 8.8.8.8 didn't fix.

 

To add assault to injury, when I try to add --format=docker as an extra parameter as suggested above, the docker don't compile anymore :( I receive the following error message: 

  -u 99:100

  --format=docker 'coderaiser/cloudcmd'

unknown flag: --format

 

Any assistance will be appreciated!

 

 

I don''t think we can change this for running containers:
see here

 

I have not yet tried the solution offered by @m33ts4k0z

 

He changes this line:

Quote

$header = ['Accept:application/vnd.docker.distribution.manifest.list.v2+json,application/vnd.docker.distribution.manifest.v2+json'];

 

to

 

Quote

$header = ['Accept:application/vnd.docker.distribution.manifest.list.v2+json,application/vnd.docker.distribution.manifest.v2+json,application/vnd.oci.image.index.v1+json'];


But I cannot oversee the possible implications for changing a main docker file, as other systems might be depending on it?

Edited by PaulV86

1 hour ago, PaulV86 said:

 

 

I don''t think we can change this for running containers:
see here

 

I have not yet tried the solution offered by @m33ts4k0z

 

He changes this line:

 

to

 


But I cannot oversee the possible implications for changing a main docker file, as other systems might be depending on it?

This wont affect anything else. I suppose it will also be integrated by the Unraid team.

Edited by m33ts4k0z

My issue persisted until I forced an update on glances and PlexTraktSync but when I click "Check for updates" it goes back to "not available".

1 hour ago, Veriwind said:

My issue persisted until I forced an update on glances and PlexTraktSync but when I click "Check for updates" it goes back to "not available".

Did you apply the workaroud of @m33ts4k0z?

  • 5 weeks later...

I found that forcing an update will fix this issue.

image.png.2d73a48c69f89588e52f83ff78687b4a.png

8 minutes ago, LaserGuidedBrick said:

I found that forcing an update will fix this issue.

image.png.2d73a48c69f89588e52f83ff78687b4a.png

Forcing update on my Komga docker fixed it for about a day. Not Available returned the next day when checking Docker menu.

image.png.da7b8a4b19a779b10193f2fd0398bfed.png

  • Community Expert

Install the Docker Update Patch plugin.

6 hours ago, OOGABOOGA said:

Forcing update on my Komga docker fixed it for about a day. Not Available returned the next day when checking Docker menu.

image.png.da7b8a4b19a779b10193f2fd0398bfed.png

Yeah sorry, your right it came back.

@m33ts4k0z work around does work though until you reboot. 

The Docker Update Patch does seem to fix it properly.

On 1/22/2023 at 2:53 AM, PaulV86 said:

Did you apply the workaroud of @m33ts4k0z?

The docker patch plugin solved my issue :D 

On 2/21/2023 at 4:59 PM, Kilrah said:

Install the Docker Update Patch plugin.

Thanks, this helped. 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.