December 22, 20223 yr 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. My other container works fine. Any help is appreciated. -Brian
December 22, 20223 yr 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.
December 23, 20223 yr Author You're likely having the same issue. I use other containers from CA that I didn't author and also have this issue.
December 25, 20223 yr 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 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": After clicking "apply update": After clicking "apply update" and "check for updates:" TL;DR: add "--format=docker" to your docker/podman build command. -Brian Edited December 25, 20223 yr by TheBrian
December 25, 20223 yr 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
January 21, 20233 yr Nice work @TheBrian!! Is there somewhere in Unraid GUI where I can add this line? Edited January 21, 20233 yr by PaulV86
January 21, 20233 yr 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!
January 21, 20233 yr Here to. I do have this problem on to Dockers at the moment. It appears when an update is available It is not only with Unraid. I did read some more topics people having the same problem on other platforms
January 21, 20233 yr 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 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.
January 21, 20233 yr 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 January 21, 20233 yr by PaulV86
January 21, 20233 yr 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 January 21, 20233 yr by m33ts4k0z
January 22, 20233 yr 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".
January 22, 20233 yr 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?
February 21, 20233 yr 8 minutes ago, LaserGuidedBrick said: I found that forcing an update will fix this issue. Forcing update on my Komga docker fixed it for about a day. Not Available returned the next day when checking Docker menu.
February 21, 20233 yr 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. 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.
February 24, 20233 yr On 1/22/2023 at 2:53 AM, PaulV86 said: Did you apply the workaroud of @m33ts4k0z? The docker patch plugin solved my issue
February 28, 20233 yr 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.