Update troubleshouting
So i'm running jellyfin with this image jellyfin/jellyfin with docker. Currently on the lastest version 10.10.5.
First thing is that index.html is at another location. It's not at at /usr/share/jellyfin/web/index.html, but at /jellyfin/jellyfin-web/index.html. I guess that's because i'm using a docker container. Would be nice to to have if it could be stated that the index.html could be in one of these locations. Found the index.html by doing this:
docker exec -it jellyfin bash
find / -name index.html 2>/dev/null
I had this problem:
jellyfin | [10:42:40] [ERR] [1] Namo.Plugin.InPlayerEpisodePreview.InPlayerEpisodePreviewPlugin: Encountered exception while writing to /jellyfin/jellyfin-web/index.html: System.UnauthorizedAccessException: Access to the path '/jellyfin/jellyfin-web/index.html' is denied.
jellyfin | ---> System.IO.IOException: Permission denied
Turns out my the ownership was wrong (set to root root).
solution:
Changing the ownership (replacing jellyfin with your containername, user and group with the user and group of your container)
docker exec -it --user root jellyfin chown user:group /jellyfin/jellyfin-web/index.html
After restarting the container the error is gone and the button shows up.
Thank you for the input. I will add it to the readme in the next few days.
Hello, I ran into the same issue on Windows:
[2025-03-23 09:53:35.129 +01:00] [INF] [1] Namo.Plugin.InPlayerEpisodePreview.InPlayerEpisodePreviewPlugin: Attempting to inject preview script code in "C:\Program Files\Jellyfin\Server\jellyfin-web\index.html"
[2025-03-23 09:53:35.140 +01:00] [ERR] [1] Namo.Plugin.InPlayerEpisodePreview.InPlayerEpisodePreviewPlugin: Encountered exception while writing to "C:\Program Files\Jellyfin\Server\jellyfin-web\index.html": "System.UnauthorizedAccessException: Access to the path 'C:\Program Files\Jellyfin\Server\jellyfin-web\index.html' is denied.
at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
at System.IO.File.OpenHandle(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
at System.IO.File.WriteToFile(String path, FileMode mode, String contents, Encoding encoding)
at Namo.Plugin.InPlayerEpisodePreview.InPlayerEpisodePreviewPlugin..ctor(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer, ILogger`1 logger, IServerConfigurationManager configurationManager)"
However, on this OS, the solution is slightly different:
- Navigate to:
C:\Program Files\Jellyfin\Server\jellyfin-web\ - Right-click on
index.html→Properties→Securitytab → Click onEdit - Select your user from the list and check the
Writepermission box. - Restart both the server and client.
Would it be possible to include this in the README so Windows users can easily find the solution?
Thanks!
Thanks @xeuc your steps got the extension working for me again!
I added both solutions to the readme. Thanks for the help guys
i still cannot see the button, im using web from a docker container. for my case the permission is not denied when i try to run
docker exec -it jellyfin bash
find / -name index.html 2>/dev/null
it just simply gave me the location of the file.
can anyone help?
i still cannot see the button, im using web from a docker container. for my case the permission is not denied when i try to run
docker exec -it jellyfin bash find / -name index.html 2>/dev/nullit just simply gave me the location of the file.
can anyone help?
Yeah, so read the part under solution and execute it
i still cannot see the button, im using web from a docker container. for my case the permission is not denied when i try to run
docker exec -it jellyfin bash find / -name index.html 2>/dev/nullit just simply gave me the location of the file. can anyone help?
Yeah, so read the part under solution and execute it
oh my god, i am so sorry for wasting your time. I just copy and paste it without think and edit it, so it does not work. Now it is working after I modify the command with my user and group and the location of the file aswell. Thankyou very much.