{"timestamp":"2026-07-06 14:48:09.193","source":"Server.js:220","message":"=== Starting Server ===","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.194","source":"Server.js:143","message":"[Server] Init v2.35.1","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.194","source":"Server.js:144","message":"[Server] Node.js Version: v20.20.2","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.194","source":"Server.js:145","message":"[Server] Platform: linux","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.195","source":"Server.js:146","message":"[Server] Arch: x64","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.216","source":"Database.js:171","message":"[Database] absdatabase.sqlite not found at /config/absdatabase.sqlite","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.216","source":"Database.js:217","message":"[Database] Initializing db at \"/config/absdatabase.sqlite\"","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.265","source":"Database.js:292","message":"[Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.268","source":"Database.js:300","message":"[Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.268","source":"Database.js:269","message":"[Database] Db supports unaccent and unicode foldings","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.268","source":"Database.js:273","message":"[Database] Db connection was successful","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.294","source":"MigrationManager.js:76","message":"[MigrationManager] Database is new. Skipping migrations.","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.610","source":"Database.js:201","message":"[Database] Db initialized with models: user, session, apiKey, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.611","source":"Database.js:865","message":"[Database] Adding trigger update_library_items_title","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.615","source":"Database.js:865","message":"[Database] Adding trigger update_library_items_title_ignore_prefix","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.619","source":"Database.js:865","message":"[Database] Adding trigger update_library_items_title_from_podcasts_title","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.623","source":"Database.js:865","message":"[Database] Adding trigger update_library_items_title_ignore_prefix_from_podcasts_title_ignore_prefix","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.628","source":"Database.js:903","message":"[Database] Adding trigger update_library_items_author_names_on_book_authors_insert","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.631","source":"Database.js:903","message":"[Database] Adding trigger update_library_items_author_names_on_book_authors_delete","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.634","source":"Database.js:928","message":"[Database] Adding trigger update_library_items_author_names_on_authors_update","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.672","source":"Database.js:207","message":"[Database] running ANALYZE","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.676","source":"Database.js:209","message":"[Database] ANALYZE completed","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.676","source":"TokenManager.js:43","message":"[TokenManager] JWT secret key not found, generating one","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.682","source":"LogManager.js:71","message":"[LogManager] Init current daily log filename: 2026-07-06.txt","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.688","source":"BackupManager.js:327","message":"[BackupManager] 0 Backups Found","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.688","source":"BackupManager.js:77","message":"[BackupManager] Auto Backups are disabled","levelName":"INFO","level":2} {"timestamp":"2026-07-06 14:48:09.712","source":"Server.js:423","message":"Listening on port :80","levelName":"INFO","level":2} {"timestamp":"2026-07-06 15:27:35.304","source":"Server.js:432","message":"[Server] Initializing new server","levelName":"INFO","level":2} {"timestamp":"2026-07-06 15:27:40.529","source":"LocalAuthStrategy.js:88","message":"[LocalAuth] User \"root\" logged in from ip 70.133.255.59","levelName":"INFO","level":2} {"timestamp":"2026-07-06 15:29:57.512","source":"BackupManager.js:94","message":"[BackupManager] Starting backup schedule 30 1 * * *","levelName":"INFO","level":2}