Jellyfin recently stopped working on Dragonfish-24.04.2.5

I set up jellyfin following @Stux 's excellent guide back in April. It’s been trouble free ever since.

Sometime yesterday afternoon, however, I found I was unable to access Jellyfin on my LAN. The dockge terminal is spamming the following messages that I don’t recall seeing before:

jellyfin  | [05:16:54] [ERR] [1] Microsoft.EntityFrameworkCore.Database.Command: Failed executing DbCommand (12ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
jellyfin  | SELECT COUNT(*) FROM "sqlite_master" WHERE "name" = '__EFMigrationsHistory' AND "type" = 'table';
jellyfin  | [05:16:54] [FTL] [1] Main: Error while starting server
jellyfin  | Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
jellyfin  |    at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.ExecuteScalar()
jellyfin  |    at System.Data.Common.DbCommand.ExecuteScalarAsync(CancellationToken cancellationToken)
jellyfin  | --- End of stack trace from previous location ---
jellyfin  |    at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteScalarAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteScalarAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteScalarAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.ExistsAsync(CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.GetAppliedMigrationsAsync(CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.GetAppliedMigrationsAsync(DatabaseFacade databaseFacade, CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.GetPendingMigrationsAsync(DatabaseFacade databaseFacade, CancellationToken cancellationToken)
jellyfin  |    at Emby.Server.Implementations.ApplicationHost.InitializeServices()
jellyfin  |    at Emby.Server.Implementations.ApplicationHost.InitializeServices()
jellyfin  |    at Jellyfin.Server.Program.StartServer(IServerApplicationPaths appPaths, StartupOptions options, IConfiguration startupConfig)
jellyfin  | [05:16:54] [INF] [1] Main: Running query planner optimizations in the database... This might take a while
jellyfin  | [05:16:54] [ERR] [1] Microsoft.EntityFrameworkCore.Database.Command: Failed executing DbCommand (1ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
jellyfin  | PRAGMA optimize
jellyfin  | [05:16:54] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing CoreAppHost
jellyfin  | [05:16:54] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing PluginManager
jellyfin  | [05:16:54] [FTL] [1] Main: Unhandled Exception
jellyfin  | Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
jellyfin  |    at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
jellyfin  |    at System.Data.Common.DbCommand.ExecuteNonQueryAsync(CancellationToken cancellationToken)
jellyfin  | --- End of stack trace from previous location ---
jellyfin  |    at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync(DatabaseFacade databaseFacade, String sql, IEnumerable`1 parameters, CancellationToken cancellationToken)
jellyfin  |    at Jellyfin.Server.Program.StartServer(IServerApplicationPaths appPaths, StartupOptions options, IConfiguration startupConfig)
jellyfin  |    at Jellyfin.Server.Program.StartServer(IServerApplicationPaths appPaths, StartupOptions options, IConfiguration startupConfig)
jellyfin  |    at Jellyfin.Server.Program.StartApp(StartupOptions options)
jellyfin  |    at Jellyfin.Server.Program.<Main>(String[] args)
jellyfin  | Unhandled exception. Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
jellyfin  |    at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
jellyfin  |    at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
jellyfin  |    at System.Data.Common.DbCommand.ExecuteNonQueryAsync(CancellationToken cancellationToken)
jellyfin  | --- End of stack trace from previous location ---
jellyfin  |    at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
jellyfin  |    at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync(DatabaseFacade databaseFacade, String sql, IEnumerable`1 parameters, CancellationToken cancellationToken)
jellyfin  |    at Jellyfin.Server.Program.StartServer(IServerApplicationPaths appPaths, StartupOptions options, IConfiguration startupConfig)
jellyfin  |    at Jellyfin.Server.Program.StartServer(IServerApplicationPaths appPaths, StartupOptions options, IConfiguration startupConfig)
jellyfin  |    at Jellyfin.Server.Program.StartApp(StartupOptions options)
jellyfin  |    at Jellyfin.Server.Program.<Main>(String[] args)

Looking at the jellyfin logs in the truenas shell, I only have entries for the previous 2 days. Dec 24 shows trickplay image generation is failing. Not sure if this is relevant and was never something that worked for me:

[2024-12-24 03:14:23.536 +00:00] [ERR] [17] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: ffmpeg image extraction failed for "/usr/lib/jellyfin-ffmpeg/ffmpeg -loglevel error -threads 1 -i file:\"/data/shows/Game Of Thrones/Season 02/Game.Of.Thrones.S02E07.BluRay.4K.UHD.H265.mkv\" -an -sn -vf \"fps=0.10000000149011612,setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*(a*sar))\,320)/2)*2:trunc(ow/(a*sar)/2)*2,format=yuv420p\" -threads 1 -c:v mjpeg -qscale:v 4 -fps_mode passthrough -f image2 \"/tmp/jellyfin/554439c85b0c4e66a6be9a501c4646cf/%08d.jpg\""
[2024-12-24 03:14:23.537 +00:00] [ERR] [17] Jellyfin.Server.Implementations.Trickplay.TrickplayManager: Error creating trickplay images.
MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for /usr/lib/jellyfin-ffmpeg/ffmpeg -loglevel error -threads 1 -i file:"/data/shows/Game Of Thrones/Season 02/Game.Of.Thrones.S02E07.BluRay.4K.UHD.H265.mkv" -an -sn -vf "fps=0.10000000149011612,setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*(a*sar))\,320)/2)*2:trunc(ow/(a*sar)/2)*2,format=yuv420p" -threads 1 -c:v mjpeg -qscale:v 4 -fps_mode passthrough -f image2 "/tmp/jellyfin/554439c85b0c4e66a6be9a501c4646cf/%08d.jpg"
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractVideoImagesOnIntervalInternal(String inputArg, String filterParam, String vidEncoder, Nullable`1 outputThreads, Nullable`1 qualityScale, Nullable`1 priority, CancellationToken cancellationToken)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 03:14:23.786 +00:00] [INF] [17] Jellyfin.Server.Implementations.Trickplay.TrickplayManager: Creating trickplay files at 320 width, for "/data/shows/Game Of Thrones/Season 02/Game.Of.Thrones.S02E06.BluRay.4K.UHD.H265.mkv" [ID: 9268a991-efca-c923-1fb4-fa150640eceb]
[2024-12-24 03:14:23.786 +00:00] [INF] [17] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Trickplay generation: "/usr/lib/jellyfin-ffmpeg/ffmpeg -loglevel error -threads 1 -i file:\"/data/shows/Game Of Thrones/Season 02/Game.Of.Thrones.S02E06.BluRay.4K.UHD.H265.mkv\" -an -sn -vf \"fps=0.10000000149011612,setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*(a*sar))\,320)/2)*2:trunc(ow/(a*sar)/2)*2,format=yuv420p\" -threads 1 -c:v mjpeg -qscale:v 4 -fps_mode passthrough -f image2 \"/tmp/jellyfin/8469266fc04c460198a49978c735e629/%08d.jpg\"

a little bit later it started complaining trickplay was unresponsive

[2024-12-24 03:33:12.415 +00:00] [INF] [34] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Trickplay process unresponsive.
[2024-12-24 03:33:12.415 +00:00] [INF] [34] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Stopping trickplay extraction.
[2024-12-24 03:33:13.415 +00:00] [INF] [34] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Killing ffmpeg process
[2024-12-24 03:33:13.415 +00:00] [ERR] [34] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: ffmpeg image extraction failed for "/usr/lib/jellyfin-ffmpeg/ffmpeg -loglevel error -threads 1 -i file:\"/data/shows/Game Of Thrones/Season 04/Game.Of.Thrones.S04E01.BluRay.4K.UHD.H265.mkv\" -an -sn -vf \"fps=0.10000000149011612,setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*(a*sar))\,320)/2)*2:trunc(ow/(a*sar)/2)*2,format=yuv420p\" -threads 1 -c:v mjpeg -qscale:v 4 -fps_mode passthrough -f image2 \"/tmp/jellyfin/058c316d25134eb08073209b2cf72882/%08d.jpg\""
[2024-12-24 03:33:13.416 +00:00] [ERR] [34] Jellyfin.Server.Implementations.Trickplay.TrickplayManager: Error creating trickplay images.
MediaBrowser.Common.FfmpegException: ffmpeg image extraction failed for /usr/lib/jellyfin-ffmpeg/ffmpeg -loglevel error -threads 1 -i file:"/data/shows/Game Of Thrones/Season 04/Game.Of.Thrones.S04E01.BluRay.4K.UHD.H265.mkv" -an -sn -vf "fps=0.10000000149011612,setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*(a*sar))\,320)/2)*2:trunc(ow/(a*sar)/2)*2,format=yuv420p" -threads 1 -c:v mjpeg -qscale:v 4 -fps_mode passthrough -f image2 "/tmp/jellyfin/058c316d25134eb08073209b2cf72882/%08d.jpg"
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractVideoImagesOnIntervalInternal(String inputArg, String filterParam, String vidEncoder, Nullable`1 outputThreads, Nullable`1 qualityScale, Nullable`1 priority, CancellationToken cancellationToken)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 03:33:13.457 +00:00] [INF] [34] Jellyfin.Server.Implementations.Trickplay.TrickplayManager: Creating trickplay files at 320 width, for "/data/shows/Game Of Thrones/Season 04/Game.Of.Thrones.S04E03.BluRay.4K.UHD.H265.mkv" [ID: 48f42e14-fc04-e59b-4ba6-72df562bf3aa]
[2024-12-24 03:33:13.457 +00:00] [INF] [34] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Trickplay generation: "/usr/lib/jellyfin-ffmpeg/ffmpeg -loglevel error -threads 1 -i file:\"/data/shows/Game Of Thrones/Season 04/Game.Of.Thrones.S04E03.BluRay.4K.UHD.H265.mkv\" -an -sn -vf \"fps=0.10000000149011612,setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*(a*sar))\,320)/2)*2:trunc(ow/(a*sar)/2)*2,format=yuv420p\" -threads 1 -c:v mjpeg -qscale:v 4 -fps_mode passthrough -f image2 \"/tmp/jellyfin/efed74030ccd4393a55f6d3ee42067fd/%08d.jpg\""

And then an hour later it complains about not being able to access a folder path

[2024-12-24 04:54:04.437 +00:00] [ERR] [19] Jellyfin.Server.Implementations.Trickplay.TrickplayManager: Error creating trickplay images.
System.UnauthorizedAccessException: Access to the path '/config/data/metadata/library/96/966d6e9a18cf6b0b029c36237d1cb513/trickplay' is denied.
 ---> System.IO.IOException: Permission denied
   --- End of inner exception stack trace ---
   at System.IO.FileSystem.CreateDirectory(String fullPath, UnixFileMode unixCreateMode)
   at System.IO.Directory.CreateDirectory(String path)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.CreateTiles(IReadOnlyList`1 images, Int32 width, TrickplayOptions options, String outputDir)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 04:54:04.674 +00:00] [ERR] [19] Microsoft.EntityFrameworkCore.Database.Command: Failed executing DbCommand ("114"ms) [Parameters=["@__itemId_0='?' (DbType = Guid)"], CommandType='Text', CommandTimeout='30']"
""SELECT EXISTS (
    SELECT 1
    FROM \"MediaSegments\" AS \"m\"
    WHERE \"m\".\"ItemId\" = @__itemId_0)"
[2024-12-24 04:54:04.750 +00:00] [ERR] [19] Microsoft.EntityFrameworkCore.Query: An exception occurred while iterating over the results of a query for context type '"Jellyfin.Server.Implementations.JellyfinDbContext"'."
""Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()"
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)
   at lambda_method369(Closure, QueryContext)
   at Jellyfin.Server.Implementations.MediaSegments.MediaSegmentManager.HasSegments(Guid itemId)
   at MediaBrowser.Controller.Entities.BaseItem.GetVersionInfo(Boolean enablePathSubstitution, BaseItem item, MediaSourceType type)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at MediaBrowser.Controller.Entities.BaseItem.GetMediaSources(Boolean enablePathSubstitution)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 04:54:04.751 +00:00] [ERR] [19] Jellyfin.Server.Implementations.Trickplay.TrickplayManager: Error creating trickplay images.
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)
   at lambda_method369(Closure, QueryContext)
   at Jellyfin.Server.Implementations.MediaSegments.MediaSegmentManager.HasSegments(Guid itemId)
   at MediaBrowser.Controller.Entities.BaseItem.GetVersionInfo(Boolean enablePathSubstitution, BaseItem item, MediaSourceType type)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at MediaBrowser.Controller.Entities.BaseItem.GetMediaSources(Boolean enablePathSubstitution)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 04:54:04.791 +00:00] [ERR] [19] Microsoft.EntityFrameworkCore.Database.Command: Failed executing DbCommand ("1"ms) [Parameters=["@__itemId_0='?' (DbType = Guid)"], CommandType='Text', CommandTimeout='30']"
""SELECT EXISTS (
    SELECT 1
    FROM \"MediaSegments\" AS \"m\"
    WHERE \"m\".\"ItemId\" = @__itemId_0)"
[2024-12-24 04:54:04.792 +00:00] [ERR] [19] Microsoft.EntityFrameworkCore.Query: An exception occurred while iterating over the results of a query for context type '"Jellyfin.Server.Implementations.JellyfinDbContext"'."
""Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()"
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)
   at lambda_method369(Closure, QueryContext)
   at Jellyfin.Server.Implementations.MediaSegments.MediaSegmentManager.HasSegments(Guid itemId)
   at MediaBrowser.Controller.Entities.BaseItem.GetVersionInfo(Boolean enablePathSubstitution, BaseItem item, MediaSourceType type)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at MediaBrowser.Controller.Entities.BaseItem.GetMediaSources(Boolean enablePathSubstitution)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 04:54:04.793 +00:00] [ERR] [19] Jellyfin.Server.Implementations.Trickplay.TrickplayManager: Error creating trickplay images.
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)
   at lambda_method369(Closure, QueryContext)
   at Jellyfin.Server.Implementations.MediaSegments.MediaSegmentManager.HasSegments(Guid itemId)
   at MediaBrowser.Controller.Entities.BaseItem.GetVersionInfo(Boolean enablePathSubstitution, BaseItem item, MediaSourceType type)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at MediaBrowser.Controller.Entities.BaseItem.GetMediaSources(Boolean enablePathSubstitution)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 04:54:04.797 +00:00] [ERR] [19] Microsoft.EntityFrameworkCore.Database.Command: Failed executing DbCommand ("0"ms) [Parameters=["@__itemId_0='?' (DbType = Guid)"], CommandType='Text', CommandTimeout='30']"
""SELECT EXISTS (
    SELECT 1
    FROM \"MediaSegments\" AS \"m\"
    WHERE \"m\".\"ItemId\" = @__itemId_0)"
[2024-12-24 04:54:04.798 +00:00] [ERR] [19] Microsoft.EntityFrameworkCore.Query: An exception occurred while iterating over the results of a query for context type '"Jellyfin.Server.Implementations.JellyfinDbContext"'."
""Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()"
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)
   at lambda_method369(Closure, QueryContext)
   at Jellyfin.Server.Implementations.MediaSegments.MediaSegmentManager.HasSegments(Guid itemId)
   at MediaBrowser.Controller.Entities.BaseItem.GetVersionInfo(Boolean enablePathSubstitution, BaseItem item, MediaSourceType type)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at MediaBrowser.Controller.Entities.BaseItem.GetMediaSources(Boolean enablePathSubstitution)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 04:54:04.799 +00:00] [ERR] [19] Jellyfin.Server.Implementations.Trickplay.TrickplayManager: Error creating trickplay images.
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)
   at lambda_method369(Closure, QueryContext)
   at Jellyfin.Server.Implementations.MediaSegments.MediaSegmentManager.HasSegments(Guid itemId)
   at MediaBrowser.Controller.Entities.BaseItem.GetVersionInfo(Boolean enablePathSubstitution, BaseItem item, MediaSourceType type)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at MediaBrowser.Controller.Entities.BaseItem.GetMediaSources(Boolean enablePathSubstitution)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 04:54:04.802 +00:00] [ERR] [19] Microsoft.EntityFrameworkCore.Database.Command: Failed executing DbCommand ("0"ms) [Parameters=["@__itemId_0='?' (DbType = Guid)"], CommandType='Text', CommandTimeout='30']"
""SELECT EXISTS (
    SELECT 1
    FROM \"MediaSegments\" AS \"m\"
    WHERE \"m\".\"ItemId\" = @__itemId_0)"
[2024-12-24 04:54:04.803 +00:00] [ERR] [19] Microsoft.EntityFrameworkCore.Query: An exception occurred while iterating over the results of a query for context type '"Jellyfin.Server.Implementations.JellyfinDbContext"'."
""Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()"
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)
   at lambda_method369(Closure, QueryContext)
   at Jellyfin.Server.Implementations.MediaSegments.MediaSegmentManager.HasSegments(Guid itemId)
   at MediaBrowser.Controller.Entities.BaseItem.GetVersionInfo(Boolean enablePathSubstitution, BaseItem item, MediaSourceType type)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at MediaBrowser.Controller.Entities.BaseItem.GetMediaSources(Boolean enablePathSubstitution)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 04:54:04.804 +00:00] [ERR] [19] Jellyfin.Server.Implementations.Trickplay.TrickplayManager: Error creating trickplay images.
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.InitializeReader(Enumerator enumerator)
   at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.Enumerator.MoveNext()
   at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found)
   at lambda_method369(Closure, QueryContext)
   at Jellyfin.Server.Implementations.MediaSegments.MediaSegmentManager.HasSegments(Guid itemId)
   at MediaBrowser.Controller.Entities.BaseItem.GetVersionInfo(Boolean enablePathSubstitution, BaseItem item, MediaSourceType type)
   at System.Linq.Enumerable.SelectListIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
   at System.Linq.Enumerable.SelectListIterator`2.ToList()
   at MediaBrowser.Controller.Entities.BaseItem.GetMediaSources(Boolean enablePathSubstitution)
   at Jellyfin.Server.Implementations.Trickplay.TrickplayManager.RefreshTrickplayDataInternal(Video video, Boolean replace, Int32 width, TrickplayOptions options, LibraryOptions libraryOptions, CancellationToken cancellationToken)
[2024-12-24 04:54:04.807 +00:00] [ERR] [19] Microsoft.EntityFrameworkCore.Database.Command: Failed executing DbCommand ("0"ms) [Parameters=["@__itemId_0='?' (DbType = Guid)"], CommandType='Text', CommandTimeout='30']"
""SELECT EXISTS (
    SELECT 1
    FROM \"MediaSegments\" AS \"m\"
    WHERE \"m\".\"ItemId\" = @__itemId_0)"

appologie for the long paste, I am not really sure what I’m looking at.

On the 25th, it’s a repeat of

[2024-12-25 03:24:17.540 +00:00] [INF] [1] Main: Jellyfin version: "10.10.3"
[2024-12-25 03:24:17.664 +00:00] [INF] [1] Main: Environment Variables: ["[JELLYFIN_DATA_DIR, /config/data]", "[JELLYFIN_WEB_DIR, /usr/share/jellyfin/web]", "[JELLYFIN_CACHE_DIR, /config/cache]", "[JELLYFIN_CONFIG_DIR, /config]", "[JELLYFIN_LOG_DIR, /config/log]", "[JELLYFIN_PublishedServerUrl, 192.168.0.117:8096]"]
[2024-12-25 03:24:17.670 +00:00] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"]
[2024-12-25 03:24:17.671 +00:00] [INF] [1] Main: Operating system: "Ubuntu 24.04.1 LTS"
[2024-12-25 03:24:17.671 +00:00] [INF] [1] Main: Architecture: X64
[2024-12-25 03:24:17.673 +00:00] [INF] [1] Main: 64-Bit Process: True
[2024-12-25 03:24:17.673 +00:00] [INF] [1] Main: User Interactive: True
[2024-12-25 03:24:17.674 +00:00] [INF] [1] Main: Processor count: 16
[2024-12-25 03:24:17.674 +00:00] [INF] [1] Main: Program data path: "/config/data"
[2024-12-25 03:24:17.674 +00:00] [INF] [1] Main: Log directory path: "/config/log"
[2024-12-25 03:24:17.674 +00:00] [INF] [1] Main: Config directory path: "/config"
[2024-12-25 03:24:17.675 +00:00] [INF] [1] Main: Cache path: "/config/cache"
[2024-12-25 03:24:17.678 +00:00] [INF] [1] Main: Temp directory path: "/tmp/jellyfin"
[2024-12-25 03:24:17.678 +00:00] [INF] [1] Main: Web resources path: "/usr/share/jellyfin/web"
[2024-12-25 03:24:17.678 +00:00] [INF] [1] Main: Application directory: "/usr/lib/jellyfin/bin/"
[2024-12-25 03:24:18.582 +00:00] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: "/config/cache"
[2024-12-25 03:24:22.691 +00:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies
[2024-12-25 03:24:22.974 +00:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
[2024-12-25 03:24:22.974 +00:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions: []
[2024-12-25 03:24:22.975 +00:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Used LAN subnets: ["127.0.0.1/8", "10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]
[2024-12-25 03:24:22.977 +00:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Filtered interface addresses: ["127.0.0.1", "192.168.16.2"]
[2024-12-25 03:24:22.978 +00:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Bind Addresses ["0.0.0.0"]
[2024-12-25 03:24:22.978 +00:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Remote IP filter is "Allowlist"
[2024-12-25 03:24:22.978 +00:00] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Filtered subnets: []
[2024-12-25 03:24:25.524 +00:00] [ERR] [1] Microsoft.EntityFrameworkCore.Database.Command: Failed executing DbCommand ("20"ms) [Parameters=[""], CommandType='Text', CommandTimeout='30']"
""SELECT COUNT(*) FROM \"sqlite_master\" WHERE \"name\" = '__EFMigrationsHistory' AND \"type\" = 'table';"
[2024-12-25 03:24:25.546 +00:00] [FTL] [1] Main: Error while starting server
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteScalar()
   at System.Data.Common.DbCommand.ExecuteScalarAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location ---
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteScalarAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteScalarAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteScalarAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.ExistsAsync(CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.GetAppliedMigrationsAsync(CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.GetAppliedMigrationsAsync(DatabaseFacade databaseFacade, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.GetPendingMigrationsAsync(DatabaseFacade databaseFacade, CancellationToken cancellationToken)
   at Emby.Server.Implementations.ApplicationHost.InitializeServices()
   at Emby.Server.Implementations.ApplicationHost.InitializeServices()
   at Jellyfin.Server.Program.StartServer(IServerApplicationPaths appPaths, StartupOptions options, IConfiguration startupConfig)
[2024-12-25 03:24:25.577 +00:00] [INF] [1] Main: Running query planner optimizations in the database... This might take a while
[2024-12-25 03:24:25.591 +00:00] [ERR] [1] Microsoft.EntityFrameworkCore.Database.Command: Failed executing DbCommand ("1"ms) [Parameters=[""], CommandType='Text', CommandTimeout='30']"
""PRAGMA optimize"
[2024-12-25 03:24:25.592 +00:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing "CoreAppHost"
[2024-12-25 03:24:25.592 +00:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Disposing "PluginManager"
[2024-12-25 03:24:25.594 +00:00] [FTL] [1] Main: Unhandled Exception
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.
   at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db)
   at Microsoft.Data.Sqlite.SqliteCommand.PrepareAndEnumerateStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteCommand.GetStatements()+MoveNext()
   at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader()
   at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
   at System.Data.Common.DbCommand.ExecuteNonQueryAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location ---
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync(DatabaseFacade databaseFacade, String sql, IEnumerable`1 parameters, CancellationToken cancellationToken)
   at Jellyfin.Server.Program.StartServer(IServerApplicationPaths appPaths, StartupOptions options, IConfiguration startupConfig)
   at Jellyfin.Server.Program.StartServer(IServerApplicationPaths appPaths, StartupOptions options, IConfiguration startupConfig)
   at Jellyfin.Server.Program.StartApp(StartupOptions options)
   at Jellyfin.Server.Program.<Main>(String[] args)

the bits that jump out to me are

Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 8: 'attempt to write a readonly database'.

and

[2024-12-25 03:24:25.591 +00:00] [ERR] [1] Microsoft.EntityFrameworkCore.Database.Command: Failed executing DbCommand ("1"ms) [Parameters=[""], CommandType='Text', CommandTimeout='30']"

More than happy to dive into other logs or inspect files. I’m not an expert here but I can’t think of anything I did over this timeframe that would have caused this sudden change.

Looking at my datasets, I see that Jellyfin’s config directory is ~30GB. Is that right?

Could this problem be caused by a cache or logfile that’s gotten too large?

thanks in advance and happy holidays!

I bit the bullet and switch trains to be on Electric Eel.

I followed @stux’s new guide and although dockge set up as expected and I could re-download jellyfin, the same errors remain.

I’m stumped!

I believe I’ve fixed this for now - the issue was that jellyfin account had no permissions to access the docker dataset.

Not sure how this happened. I’ve changed so many variables between upgrading, re-installing, and moving things around that I am not sure if I’ll be able to untangle it. But the server is back up and running.

Leaving this here in case anyone else runs into the same issue.

3 Likes