m33ts4k0z Posted Saturday at 05:14 PM Share Posted Saturday at 05:14 PM (edited) Hello, I came across a small issue regarding the version status of an image that apparently was in OCI format. Unraid wasn't able to get the manifest information file because of wrong headers. As a result, checking for updates showed "Not available" instead. The docker image is the linuxGSM docker container and the fix is really simple. This is for Unraid version 6.11.5 but it will work even for older versions if you find the corresponding line in that file. SSHing into the Unraid server, in file: /usr/local/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php change line 448 to this: $header = ['Accept: application/vnd.docker.distribution.manifest.list.v2+json,application/vnd.docker.distribution.manifest.v2+json,application/vnd.oci.image.index.v1+json']; And the version check worked after that. I suppose this change will be removed upon server restart but it will be nice if you can include it on the next Unraid update 😊 Thanks Edited Monday at 07:49 PM by m33ts4k0z 12 11 1 Quote Link to comment
zoggy Posted Sunday at 10:05 PM Share Posted Sunday at 10:05 PM (edited) confirmed this fixed issue i had with "netdata-glibc" saying not available when there was an update. (unraid: 6.11.5) Edited Sunday at 10:06 PM by zoggy Quote Link to comment
CarlosS Posted Monday at 03:16 PM Share Posted Monday at 03:16 PM This worked for me too. Quote Link to comment
antiremy Posted Monday at 05:01 PM Share Posted Monday at 05:01 PM This finally fixed this annoying problem for me, thanks! Quote Link to comment
SnugglyDino Posted Monday at 06:53 PM Share Posted Monday at 06:53 PM I get Permission denied when I SSH in and try to access that file. How do I get access to the file? Quote Link to comment
t34wrj Posted Monday at 07:32 PM Share Posted Monday at 07:32 PM 38 minutes ago, SnugglyDino said: I get Permission denied when I SSH in and try to access that file. How do I get access to the file? I used the Unraid terminal to change to the correct directory then used the nano text editor to update the file. Quote Link to comment
kcgodwins Posted Monday at 07:32 PM Share Posted Monday at 07:32 PM (edited) On 1/21/2023 at 11:14 AM, m33ts4k0z said: SSHing into the Unraid server, in file: /usr/local/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php change line 448 to this: $header = ['Accept: application/vnd.docker.distribution.manifest.list.v2+json,application/vnd.docker.distribution.manifest.v2+json,application/vnd.oci.image.index.v1+json']; And the version check worked after that. Could you post what line 448 looks like prior to the above update? I'm running 6.9.2 and I'm wanting to make sure I'm touching the correct line. My current line 448 reads: $reply_json = json_decode($reply, true); Seems like a really radical update if that's what I'm supposed to be replacing. More and more of my dockers have gone "not available" in the past week, for reasons I'm unaware of. I'm hoping that this might fix it. TIA ETA: I'm also not opposed to upgrading to 6.10 or 6.11 if one or the other will resolve this. Thx again. Edited Monday at 07:33 PM by kcgodwins Quote Link to comment
SnugglyDino Posted Monday at 07:41 PM Share Posted Monday at 07:41 PM 8 minutes ago, t34wrj said: I used the Unraid terminal to change to the correct directory then used the nano text editor to update the file. I still get permission denied. It's really weird. Quote Link to comment
m33ts4k0z Posted Monday at 07:48 PM Author Share Posted Monday at 07:48 PM 11 minutes ago, kcgodwins said: Could you post what line 448 looks like prior to the above update? I'm running 6.9.2 and I'm wanting to make sure I'm touching the correct line. My current line 448 reads: $reply_json = json_decode($reply, true); Seems like a really radical update if that's what I'm supposed to be replacing. More and more of my dockers have gone "not available" in the past week, for reasons I'm unaware of. I'm hoping that this might fix it. TIA ETA: I'm also not opposed to upgrading to 6.10 or 6.11 if one or the other will resolve this. Thx again. This is for Unraid version 6.11.5. the line looks the same but without the ,application/vnd.oci.image.index.v1+json' Im not sure how this line looks like on 6.10 but if you could find: $header = ['Accept: application/vnd.docker.distribution.manifest.list.v2+json,application/vnd.docker.distribution.manifest.v2+json']; Just append it after: ,application/vnd.docker.distribution.manifest.v2+json Quote Link to comment
m33ts4k0z Posted Monday at 07:52 PM Author Share Posted Monday at 07:52 PM (edited) 12 minutes ago, SnugglyDino said: I still get permission denied. It's really weird. The command you need is as follows: nano /usr/local/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php You can also use WinSCP if you are on Windows. Choose SCP protocol and connect to the same port as SSH. Edited Monday at 07:55 PM by m33ts4k0z Quote Link to comment
SnugglyDino Posted Monday at 08:06 PM Share Posted Monday at 08:06 PM (edited) 14 minutes ago, m33ts4k0z said: The command you need is as follows: nano /usr/local/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php You can also use WinSCP if you are on Windows. Choose SCP protocol and connect to the same port as SSH. Thank you. I can finally update my docker containers now! Edited Monday at 08:07 PM by SnugglyDino Quote Link to comment
Skitals Posted Monday at 11:30 PM Share Posted Monday at 11:30 PM Thanks. Was getting "Not available" for Dozzle and this fixed it. Quote Link to comment
ljm42 Posted Monday at 11:44 PM Share Posted Monday at 11:44 PM On 1/21/2023 at 10:14 AM, m33ts4k0z said: Hello, I came across a small issue regarding the version status of an image that apparently was in OCI format. Unraid wasn't able to get the manifest information file because of wrong headers. As a result, checking for updates showed "Not available" instead. The docker image is the linuxGSM docker container and the fix is really simple. This is for Unraid version 6.11.5 but it will work even for older versions if you find the corresponding line in that file. SSHing into the Unraid server, in file: /usr/local/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php change line 448 to this: $header = ['Accept: application/vnd.docker.distribution.manifest.list.v2+json,application/vnd.docker.distribution.manifest.v2+json,application/vnd.oci.image.index.v1+json']; And the version check worked after that. I suppose this change will be removed upon server restart but it will be nice if you can include it on the next Unraid update 😊 Thanks The Unraid webgui is actually open source, since you found the solution if you are interested you can submit a PR here: https://github.com/limetech/webgui 1 2 Quote Link to comment
dada051 Posted Tuesday at 08:06 AM Share Posted Tuesday at 08:06 AM 8 hours ago, ljm42 said: The Unraid webgui is actually open source, since you found the solution if you are interested you can submit a PR here: https://github.com/limetech/webgui oh yes ! https://github.com/limetech/webgui/blob/master/plugins/dynamix.docker.manager/include/DockerClient.php good to know! 1 Quote Link to comment
Henke Posted Tuesday at 11:49 AM Share Posted Tuesday at 11:49 AM Thank you! Can confirm this solved the problem for me (6.11.5) Quote Link to comment
blaine07 Posted Tuesday at 01:21 PM Share Posted Tuesday at 01:21 PM Thanks for sharing! Quote Link to comment
livefour2day Posted Tuesday at 02:51 PM Share Posted Tuesday at 02:51 PM Thank you for posting this it fixed it for me this was really bugging me, I thought it was my pi-hole. Quote Link to comment
fabricionaweb Posted Tuesday at 03:20 PM Share Posted Tuesday at 03:20 PM (edited) Good catch, I also saw there was an issue since June 2022. I hope you dont mind but I opened the MR and also added some references. Thank you to figued out! Edited Tuesday at 04:22 PM by fabricionaweb 2 Quote Link to comment
drx Posted Tuesday at 03:56 PM Share Posted Tuesday at 03:56 PM On 1/21/2023 at 11:14 AM, m33ts4k0z said: Hello, I came across a small issue regarding the version status of an image that apparently was in OCI format. Unraid wasn't able to get the manifest information file because of wrong headers. As a result, checking for updates showed "Not available" instead. The docker image is the linuxGSM docker container and the fix is really simple. This is for Unraid version 6.11.5 but it will work even for older versions if you find the corresponding line in that file. SSHing into the Unraid server, in file: /usr/local/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php change line 448 to this: $header = ['Accept: application/vnd.docker.distribution.manifest.list.v2+json,application/vnd.docker.distribution.manifest.v2+json,application/vnd.oci.image.index.v1+json']; And the version check worked after that. I suppose this change will be removed upon server restart but it will be nice if you can include it on the next Unraid update 😊 Thanks THANK YOU!!! just the answer I was looking for! Quote Link to comment
m33ts4k0z Posted Tuesday at 06:15 PM Author Share Posted Tuesday at 06:15 PM 2 hours ago, fabricionaweb said: Good catch, I also saw there was an issue since June 2022. I hope you dont mind but I opened the MR and also added some references. Thank you to figued out! Thanks for this. You saved me some time. The PR is already accepted and the fix is applied on github. 1 Quote Link to comment
blaine07 Posted Tuesday at 06:25 PM Share Posted Tuesday at 06:25 PM 10 minutes ago, m33ts4k0z said: Thanks for this. You saved me some time. The PR is already accepted and the fix is applied on github. Will it be updated with unraid or with AppStore plug-in thing in unraid? Quote Link to comment
m33ts4k0z Posted Tuesday at 06:28 PM Author Share Posted Tuesday at 06:28 PM 2 minutes ago, blaine07 said: Will it be updated with unraid or with AppStore plug-in thing in unraid? It will be updated when the next core update for Unraid releases. Unraid is currently on version 6.11.5. The next version will most likely include this fix. Quote Link to comment
bonienl Posted Tuesday at 06:52 PM Share Posted Tuesday at 06:52 PM On 1/21/2023 at 6:14 PM, m33ts4k0z said: I suppose this change will be removed upon server restart but it will be nice if you can include it on the next Unraid update I have included your update for the next Unraid version. Thanks 1 5 Quote Link to comment
manrw Posted Tuesday at 08:31 PM Share Posted Tuesday at 08:31 PM Can confirm that this worked for me. Thanks for providing the fix. Quote Link to comment
kcgodwins Posted Tuesday at 08:57 PM Share Posted Tuesday at 08:57 PM On 1/23/2023 at 1:48 PM, m33ts4k0z said: This is for Unraid version 6.11.5. the line looks the same but without the ,application/vnd.oci.image.index.v1+json' Im not sure how this line looks like on 6.10 but if you could find: $header = ['Accept: application/vnd.docker.distribution.manifest.list.v2+json,application/vnd.docker.distribution.manifest.v2+json']; Just append it after: ,application/vnd.docker.distribution.manifest.v2+json Thanks, I'll take a look at it. Do you (or anyone) know why this has become an issue all of a sudden? Just curious. Thanks again. Mike Quote Link to comment
Recommended Posts
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.