March 12, 20251 yr On 1/21/2025 at 11:34 PM, LondonDragon said: Love this project for Audiobooks and epub files, is there a way to extract the cover from PDF's? Would love to use this for my PDF collection also! thanks Not possible? thanks
March 12, 20251 yr Author 3 hours ago, LondonDragon said: Not possible? thanks No, there is a feature request open for it on Github. It's best to check Discord and Github since most any question you have will have already been answered or discussed.
May 6, 20251 yr Hi @advplyr. I recently had to recreate my docker img. After reinstalling Audiobookshelf from the old existing template which worked previously, I can't access it via ita LAN ip. But oddly I can access it via URL because I reverse proxied it. Do you know how to resolve this?
June 2, 20251 yr I would like to change the container(!) port number for the server web UI (note that I do not want to change the host port number, I know that the docker port mapping can be used for that!). Is there an environment variable that I can use, or a config file that I need to change?
June 2, 20251 yr Author 1 hour ago, murkus said:ntainer(!) port number for the server web UI (note that I do not want to change the host port number, I know that the docker port mapping can be used for that!). Is there an environment variable that I can use, or a confYou can refer to the docs for the env vars https://www.audiobookshelf.org/docs#network
July 29, 2025Jul 29 Container is failing to spinup. Something about a DB error?From logs:[2025-07-29 02:53:40.379] INFO: [MigrationManager] Restored the original database from the backup.[2025-07-29 02:53:40.380] INFO: [MigrationManager] Migration failed. Exiting Audiobookshelf with code 1.Running in production mode.Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=undefined, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf[2025-07-29 03:30:49.571] INFO: === Starting Server ===[2025-07-29 03:30:49.577] INFO: [Server] Init v2.26.3[2025-07-29 03:30:49.577] INFO: [Server] Node.js Version: v20.19.4[2025-07-29 03:30:49.577] INFO: [Server] Platform: linux[2025-07-29 03:30:49.578] INFO: [Server] Arch: x64[2025-07-29 03:30:49.582] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"[2025-07-29 03:30:49.639] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so[2025-07-29 03:30:49.648] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so[2025-07-29 03:30:49.649] INFO: [Database] Db supports unaccent and unicode foldings[2025-07-29 03:30:49.649] INFO: [Database] Db connection was successful[2025-07-29 03:30:49.749] INFO: [MigrationManager] Migrating database up to version 2.26.3[2025-07-29 03:30:49.749] INFO: [MigrationManager] Migrations to run: v2.15.0-series-column-unique.js, v2.15.1-reindex-nocase.js, v2.15.2-index-creation.js, v2.17.0-uuid-replacement.js, v2.17.3-fk-constraints.js, v2.17.4-use-subfolder-for-oidc-redirect-uris.js, v2.17.5-remove-host-from-feed-urls.js, v2.17.6-share-add-isdownloadable.js, v2.17.7-add-indices.js, v2.19.1-copy-title-to-library-items.js, v2.19.4-improve-podcast-queries.js, v2.20.0-improve-author-sort-queries.js, v2.26.0-create-auth-tables.js[2025-07-29 03:30:49.755] INFO: Created a backup of the original database.[2025-07-29 03:30:49.773] INFO: { event: 'migrating', name: 'v2.15.0-series-column-unique.js' }[2025-07-29 03:30:49.778] INFO: [2.15.0 migration] UPGRADE BEGIN: 2.15.0-series-column-unique [2025-07-29 03:30:49.778] INFO: [2.15.0 migration] Reindexing NOCASE indices to fix potential hidden corruption issues[2025-07-29 03:30:49.797] INFO: [MigrationManager] Saved the failed database as absdatabase.failed.sqlite.[2025-07-29 03:30:49.800] INFO: [MigrationManager] Restored the original database from the backup.[2025-07-29 03:30:49.800] INFO: [MigrationManager] Migration failed. Exiting Audiobookshelf with code 1.
August 10, 2025Aug 10 I just started having this happen today.[Server] Unhandled rejection: TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:312:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) promise: Promise { <rejected> TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:312:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) }It's taken down the service twice today, not sure what's throwing the null path... Anyone else have this issue?
August 10, 2025Aug 10 Author 1 hour ago, ccano2011 said:I just started having this happen today.[Server] Unhandled rejection: TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:312:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) promise: Promise { <rejected> TypeError: Cannot read properties of null (reading 'path') at PublicRouter.getTrack (/app/server/controllers/SessionController.js:312:88) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) }It's taken down the service twice today, not sure what's throwing the null path... Anyone else have this issue?This is fixed in v2.28.0 that just went live. https://github.com/advplyr/audiobookshelf/releases/tag/v2.28.0 Edited August 10, 2025Aug 10 by advplyr
November 15, 2025Nov 15 where are temporary files like transcoding files stored?I have set /metadata to a dir on my array and the /audiobooks is pointing to my array for the actual audiobook files. /config is mapped to my apopData... /mnt/user/appdata/audiobookshelfSo where would the transocde files be placed... as I am pretty sure this is the issue I have... as I was running this for a while recently and I got this warning...[quote]Notice [serverName] - Docker image disk utilization of 87%Docker utilization of image file /mnt/user/system/docker/docker.img[/quote]After a while it returned to normal Docker image disk utilization returned to normal level. I assume when I stopped listening. What I would like to do is make sure that any persist ant files, are stored outside of the appData dir, and preferably any non-resistant files, like those used during transcode, to be stored in ram.TL;DR : What dir in the docker is used to store temperory transcode files?
November 21, 2025Nov 21 Anyone have any idea about this? Where audiobookshelf stores the temp files during transcoding?
December 3, 2025Dec 3 Just installed fresh, but I dont get the first login page to change/setup the login. I get a login page, I tried root in the username field but, unauthorisedany idea how I fix it?
February 10Feb 10 So trying to find out why not all books are being imported for some authors. Below are the scan logs. Let me know if there is anything else I need. Just want to figure out why its not adding all books.audiobookshelf.txt
February 11Feb 11 2 hours ago, Jurak said:So trying to find out why not all books are being imported for some authors. Below are the scan logs. Let me know if there is anything else I need. Just want to figure out why its not adding all books.audiobookshelf.txtSo, according to the log, only 2 books were not imported, and it clearly says why:{"timestamp":"2026-02-10T13:00:20.531Z","message":"Library item at path \"Sarah Noffke/Determine the Future\" has no audio files and no ebook file - ignoring","levelName":"WARN","level":3}{"timestamp":"2026-02-10T13:00:20.601Z","message":"Library item at path \"Robert Jordan/The Fires of Heaven - Kate Reading + Michael Kramer\" has no audio files and no ebook file - ignoring","levelName":"WARN","level":3}Check that there are actually audio files in there.
February 11Feb 11 2 hours ago, strike said:So, according to the log, only 2 books were not imported, and it clearly says why:{"timestamp":"2026-02-10T13:00:20.531Z","message":"Library item at path \"Sarah Noffke/Determine the Future\" has no audio files and no ebook file - ignoring","levelName":"WARN","level":3}{"timestamp":"2026-02-10T13:00:20.601Z","message":"Library item at path \"Robert Jordan/The Fires of Heaven - Kate Reading + Michael Kramer\" has no audio files and no ebook file - ignoring","levelName":"WARN","level":3}Check that there are actually audio files in there.So I have let say Illona Andrews. There is 48 books in the folder for that author. In audiobookshelf is only showing 3. there are many more authors with many books missing that are in the folder that audiobookshelf scans.
February 11Feb 11 1 minute ago, Jurak said:So I have let say Illona Andrews. There is 48 books in the folder for that author. In audiobookshelf is only showing 3. there are many more authors with many books missing that are in the folder that audiobookshelf scans.Most likely it's because of your folder structure/naming. Have you checked the docs? https://www.audiobookshelf.org/docs/#book-directory-structure
February 11Feb 11 3 minutes ago, strike said:Most likely it's because of your folder structure/naming. Have you checked the docs? https://www.audiobookshelf.org/docs/#book-directory-structureNo filters. and its /allbooks/author/booktitle/bookfiles. For each author. I have gone through each author folder (took a while) to make sure it was set up correctly.
February 11Feb 11 7 hours ago, strike said:Post your daily log instead of your scan log. Which version are you running?Im running 2.32.1 and daily scan in link below.https://pastebin.jurak.business/?c35189c0159a07eb#EHmf8rFZQMxJhgGGZjCgWQVPzcMzeT9gV1Tf5hBG3heeIm starting to wonder if its a metadata issue with my books. Im looking into that now as well. Edited February 11Feb 11 by Jurak forgot some info
February 11Feb 11 35 minutes ago, Jurak said:Im running 2.32.1 and daily scan in link below.https://pastebin.jurak.business/?c35189c0159a07eb#EHmf8rFZQMxJhgGGZjCgWQVPzcMzeT9gV1Tf5hBG3heeIm starting to wonder if its a metadata issue with my books. Im looking into that now as well.I'm thinking it's a metadata issue too, but not with your files. You're using Google Books as your metadata provider, and your log is full of errors because it can't find your books. So your books are probably all in your library, but when you go to the author, you can only find 3 books because it fails to match the rest. Switch to the audible.com provider in the settings. and run a quick match on your library again.I've tested with one of the books in your log with google and I couldn't find it either, but with Audible it was fine.
February 11Feb 11 It also looks like you have a lot of files with conflicts. example: [Scan] \"Anthony Ryan/To Blackfyre Keep\": Library file with path \"/audiobooks/media/allbooks/Anthony Ryan/To Blackfyre Keep/To Blackfyre Keep.azw3\" not found, but found file with matching inode value \"27021597764458986\" at path \"/audiobooks/media/allbooks/Anthony Ryan/To Blackfyre Keep/To Blackfyre Keep (1).azw3Lots of these. Have you recently copied duplicate files to your library and deleted the original? It finds the files with (1).azw3. And (1) is usually appended when there is a duplicate.
February 12Feb 12 On 2/11/2026 at 5:50 AM, strike said:It also looks like you have a lot of files with conflicts. example: [Scan] \"Anthony Ryan/To Blackfyre Keep\": Library file with path \"/audiobooks/media/allbooks/Anthony Ryan/To Blackfyre Keep/To Blackfyre Keep.azw3\" not found, but found file with matching inode value \"27021597764458986\" at path \"/audiobooks/media/allbooks/Anthony Ryan/To Blackfyre Keep/To Blackfyre Keep (1).azw3Lots of these. Have you recently copied duplicate files to your library and deleted the original? It finds the files with (1).azw3. And (1) is usually appended when there is a duplicate.It was a metadata issue. I redid the metadata on all books and everything is now showing up.
February 15Feb 15 I cannot get the webui to pull up anymore. Was working fine for months and now I get the error below in my latest logs:parameters: {}}promise: Promise {<rejected> Errorat Database.<anonymous> (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)at /app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:50at new Promise (<anonymous>)at Query.run (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)at /app/node_modules/sequelize/lib/sequelize.js:315:28at async Database.init (/app/server/Database.js:208:5)at async Server.init (/app/server/Server.js:159:5)at async Server.start (/app/server/Server.js:223:5) {name: 'SequelizeDatabaseError',parent: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},original: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},sql: 'ANALYZE',parameters: {}}}[2026-02-15 10:51:57.632] FATAL: [Server] Unhandled rejection: Errorat Database.<anonymous> (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)at /app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:50at new Promise (<anonymous>)at Query.run (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)at /app/node_modules/sequelize/lib/sequelize.js:315:28at async Database.init (/app/server/Database.js:208:5)at async Server.init (/app/server/Server.js:159:5)at async Server.start (/app/server/Server.js:223:5) {name: 'SequelizeDatabaseError',parent: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},original: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},sql: 'ANALYZE',parameters: {}}promise: Promise {<rejected> Errorat Database.<anonymous> (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)at /app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:50at new Promise (<anonymous>)at Query.run (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)at /app/node_modules/sequelize/lib/sequelize.js:315:28at async Database.init (/app/server/Database.js:208:5)at async Server.init (/app/server/Server.js:159:5)at async Server.start (/app/server/Server.js:223:5) {name: 'SequelizeDatabaseError',parent: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},original: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},sql: 'ANALYZE',parameters: {}}}Running in production mode.Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=undefined, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf[2026-02-15 10:51:57.419] INFO: === Starting Server ===[2026-02-15 10:51:57.421] INFO: [Server] Init v2.32.1[2026-02-15 10:51:57.421] INFO: [Server] Node.js Version: v20.19.6[2026-02-15 10:51:57.421] INFO: [Server] Platform: linux[2026-02-15 10:51:57.421] INFO: [Server] Arch: x64[2026-02-15 10:51:57.425] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"[2026-02-15 10:51:57.452] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so[2026-02-15 10:51:57.452] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so[2026-02-15 10:51:57.452] INFO: [Database] Db supports unaccent and unicode foldings[2026-02-15 10:51:57.453] INFO: [Database] Db connection was successful[2026-02-15 10:51:57.459] INFO: [MigrationManager] Database is already up to date.[2026-02-15 10:51:57.584] INFO: [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[2026-02-15 10:51:57.628] INFO: [Database] running ANALYZE
February 15Feb 15 1 hour ago, Johnny Utah said:I cannot get the webui to pull up anymore. Was working fine for months and now I get the error below in my latest logs:parameters: {}}promise: Promise {<rejected> Errorat Database.<anonymous> (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)at /app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:50at new Promise (<anonymous>)at Query.run (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)at /app/node_modules/sequelize/lib/sequelize.js:315:28at async Database.init (/app/server/Database.js:208:5)at async Server.init (/app/server/Server.js:159:5)at async Server.start (/app/server/Server.js:223:5) {name: 'SequelizeDatabaseError',parent: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},original: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},sql: 'ANALYZE',parameters: {}}}[2026-02-15 10:51:57.632] FATAL: [Server] Unhandled rejection: Errorat Database.<anonymous> (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)at /app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:50at new Promise (<anonymous>)at Query.run (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)at /app/node_modules/sequelize/lib/sequelize.js:315:28at async Database.init (/app/server/Database.js:208:5)at async Server.init (/app/server/Server.js:159:5)at async Server.start (/app/server/Server.js:223:5) {name: 'SequelizeDatabaseError',parent: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},original: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},sql: 'ANALYZE',parameters: {}}promise: Promise {<rejected> Errorat Database.<anonymous> (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)at /app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:50at new Promise (<anonymous>)at Query.run (/app/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)at /app/node_modules/sequelize/lib/sequelize.js:315:28at async Database.init (/app/server/Database.js:208:5)at async Server.init (/app/server/Server.js:159:5)at async Server.start (/app/server/Server.js:223:5) {name: 'SequelizeDatabaseError',parent: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},original: [Error: SQLITE_CANTOPEN: unable to open database file] {errno: 14,code: 'SQLITE_CANTOPEN',sql: 'ANALYZE'},sql: 'ANALYZE',parameters: {}}}Running in production mode.Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=undefined, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf[2026-02-15 10:51:57.419] INFO: === Starting Server ===[2026-02-15 10:51:57.421] INFO: [Server] Init v2.32.1[2026-02-15 10:51:57.421] INFO: [Server] Node.js Version: v20.19.6[2026-02-15 10:51:57.421] INFO: [Server] Platform: linux[2026-02-15 10:51:57.421] INFO: [Server] Arch: x64[2026-02-15 10:51:57.425] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"[2026-02-15 10:51:57.452] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so[2026-02-15 10:51:57.452] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so[2026-02-15 10:51:57.452] INFO: [Database] Db supports unaccent and unicode foldings[2026-02-15 10:51:57.453] INFO: [Database] Db connection was successful[2026-02-15 10:51:57.459] INFO: [MigrationManager] Database is already up to date.[2026-02-15 10:51:57.584] INFO: [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[2026-02-15 10:51:57.628] INFO: [Database] running ANALYZESeems to be a database issue. Can you restore from backup?
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.