Audiobookshelf container keeps crashing (Podman) #2262

Closed
opened 2026-04-25 00:05:33 +02:00 by adam · 1 comment
Owner

Originally created by @seannymurrs on GitHub (Sep 17, 2024).

What happened?

I have Audiobookshelf running on my seedbox (Whatbox.ca) via Podman. About once a day, I find that the container has crashed. I have to manually go in and shutdown the container and start it back up again.

What did you expect to happen?

I expect the container not to crash on a regular basis.

Steps to reproduce the issue

  1. Attempt to access ABS via the webui.
  2. See that the container has crashed.

Audiobookshelf version

v2.13.4

How are you running audiobookshelf?

Docker

What OS is your Audiobookshelf server hosted from?

Windows

If the issue is being seen in the UI, what browsers are you seeing the problem on?

None

Logs

{
  "timestamp": "2024-09-17 05:35:51.539",
  "source": "Server.js:185",
  "message": "[Server] Unhandled rejection: SequelizeDatabaseError: SQLITE_CANTOPEN: unable to open database file, promise: Promise {\n  <rejected> Error\n      at Database.<anonymous> (/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)\n      at /node_modules/sequelize/lib/dialects/sqlite/query.js:183:50\n      at new Promise (<anonymous>)\n      at Query.run (/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)\n      at /node_modules/sequelize/lib/sequelize.js:315:28\n      at async SQLiteQueryInterface.select (/node_modules/sequelize/lib/dialects/abstract/query-interface.js:407:12)\n      at async bookSeries.findAll (/node_modules/sequelize/lib/model.js:1140:21)\n      at async HasMany.get (/node_modules/sequelize/lib/associations/has-many.js:170:21)\n      at async /node_modules/sequelize/lib/model.js:1202:19\n      at async Promise.all (index 0) {\n    name: 'SequelizeDatabaseError',\n    parent: [Error: SQLITE_CANTOPEN: unable to open database file] {\n      errno: 14,\n      code: 'SQLITE_CANTOPEN',\n      sql: \"SELECT `bookSeries`.`id`, `bookSeries`.`bookId`, `bookSeries`.`sequence`, `bookSeries`.`seriesId`, `book`.`id` AS `book.id`, `book`.`title` AS `book.title`, `book`.`titleIgnorePrefix` AS `book.titleIgnorePrefix`, `book`.`subtitle` AS `book.subtitle`, `book`.`publishedYear` AS `book.publishedYear`, `book`.`publishedDate` AS `book.publishedDate`, `book`.`publisher` AS `book.publisher`, `book`.`description` AS `book.description`, `book`.`isbn` AS `book.isbn`, `book`.`asin` AS `book.asin`, `book`.`language` AS `book.language`, `book`.`explicit` AS `book.explicit`, `book`.`abridged` AS `book.abridged`, `book`.`coverPath` AS `book.coverPath`, `book`.`duration` AS `book.duration`, `book`.`narrators` AS `book.narrators`, `book`.`audioFiles` AS `book.audioFiles`, `book`.`ebookFile` AS `book.ebookFile`, `book`.`chapters` AS `book.chapters`, `book`.`tags` AS `book.tags`, `book`.`genres` AS `book.genres`, `book`.`createdAt` AS `book.createdAt`, `book`.`updatedAt` AS `book.updatedAt`, `book->libraryItem`.`id` AS `book.libraryItem.id`, `book->libraryItem`.`ino` AS `book.libraryItem.ino`, `book->libraryItem`.`path` AS `book.libraryItem.path`, `book->libraryItem`.`relPath` AS `book.libraryItem.relPath`, `book->libraryItem`.`mediaId` AS `book.libraryItem.mediaId`, `book->libraryItem`.`mediaType` AS `book.libraryItem.mediaType`, `book->libraryItem`.`isFile` AS `book.libraryItem.isFile`, `book->libraryItem`.`isMissing` AS `book.libraryItem.isMissing`, `book->libraryItem`.`isInvalid` AS `book.libraryItem.isInvalid`, `book->libraryItem`.`mtime` AS `book.libraryItem.mtime`, `book->libraryItem`.`ctime` AS `book.libraryItem.ctime`, `book->libraryItem`.`birthtime` AS `book.libraryItem.birthtime`, `book->libraryItem`.`size` AS `book.libraryItem.size`, `book->libraryItem`.`lastScan` AS `book.libraryItem.lastScan`, `book->libraryItem`.`lastScanVersion` AS `book.libraryItem.lastScanVersion`, `book->libraryItem`.`libraryFiles` AS `book.libraryItem.libraryFiles`, `book->libraryItem`.`extraData` AS `book.libraryItem.extraData`, `book->libraryItem`.`createdAt` AS `book.libraryItem.createdAt`, `book->libraryItem`.`updatedAt` AS `book.libraryItem.updatedAt`, `book->libraryItem`.`libraryId` AS `book.libraryItem.libraryId`, `book->libraryItem`.`libraryFolderId` AS `book.libraryItem.libraryFolderId`, `book->authors`.`id` AS `book.authors.id`, `book->authors`.`name` AS `book.authors.name`, `book->authors`.`lastFirst` AS `book.authors.lastFirst`, `book->authors`.`asin` AS `book.authors.asin`, `book->authors`.`description` AS `book.authors.description`, `book->authors`.`imagePath` AS `book.authors.imagePath`, `book->authors`.`createdAt` AS `book.authors.createdAt`, `book->authors`.`updatedAt` AS `book.authors.updatedAt`, `book->authors`.`libraryId` AS `book.authors.libraryId`, `book->mediaProgresses`.`id` AS `book.mediaProgresses.id`, `book->mediaProgresses`.`mediaItemId` AS `book.mediaProgresses.mediaItemId`, `book->mediaProgresses`.`mediaItemType` AS `book.mediaProgresses.mediaItemType`, `book->mediaProgresses`.`duration` AS `book.mediaProgresses.duration`, `book->mediaProgresses`.`currentTime` AS `book.mediaProgresses.currentTime`, `book->mediaProgresses`.`isFinished` AS `book.mediaProgresses.isFinished`, `book->mediaProgresses`.`hideFromContinueListening` AS `book.mediaProgresses.hideFromContinueListening`, `book->mediaProgresses`.`ebookLocation` AS `book.mediaProgresses.ebookLocation`, `book->mediaProgresses`.`ebookProgress` AS `book.mediaProgresses.ebookProgress`, `book->mediaProgresses`.`finishedAt` AS `book.mediaProgresses.finishedAt`, `book->mediaProgresses`.`extraData` AS `book.mediaProgresses.extraData`, `book->mediaProgresses`.`createdAt` AS `book.mediaProgresses.createdAt`, `book->mediaProgresses`.`updatedAt` AS `book.mediaProgresses.updatedAt`, `book->mediaProgresses`.`userId` AS `book.mediaProgresses.userId` FROM `bookSeries` AS `bookSeries` INNER JOIN `books` AS `book` ON `bookSeries`.`bookId` = `book`.`id` LEFT OUTER JOIN `libraryItems` AS `book->libraryItem` ON `book`.`id` = `book->libraryItem`.`mediaId` AND (`book->libraryItem`.`mediaType` = 'book' AND `book->libraryItem`.`mediaType` = 'book') LEFT OUTER JOIN ( `bookAuthors` AS `book->authors->bookAuthor` INNER JOIN `authors` AS `book->authors` ON `book->authors`.`id` = `book->authors->bookAuthor`.`authorId`) ON `book`.`id` = `book->authors->bookAuthor`.`bookId` LEFT OUTER JOIN `mediaProgresses` AS `book->mediaProgresses` ON `book`.`id` = `book->mediaProgresses`.`mediaItemId` AND ((`book->mediaProgresses`.`userId` = '7615959a-840f-44fe-bb29-13abecb15ec6' AND `book->mediaProgresses`.`mediaItemType` = 'book') AND `book->mediaProgresses`.`mediaItemType` = 'book') WHERE (`bookSeries`.`seriesId` IN ('825cfe31-e4c6-40a5-a5d6-1d79fb28bd16', '219f0cca-fea4-452f-87bc-ab9cd28c0be7', 'acc1c77d-db8a-4e4f-a851-cfb9c0ab5c30', '4c18e832-1a5c-4b95-9233-3c695275c767', 'ad88f469-47e6-4f9b-aff0-98f68bb79834', '888c1d3e-ad8d-4740-978c-e268ee4cfc79', '0add9d2a-75f7-4a3a-994f-d5c60f407647', 'd62f6ed0-f797-4efa-b319-523dfd61cac0', 'e663dd76-1c7a-4fff-be71-f29336ef3a7b', 'eeb44c6a-4bd9-4a4e-9d39-18784b35cebb') AND (`book->mediaProgresses`.`isFinished` IS NULL OR `book->mediaProgresses`.`isFinished` = 0)) ORDER BY CAST(sequence AS FLOAT) ASC NULLS LAST;\"\n    },\n    original: [Error: SQLITE_CANTOPEN: unable to open database file] {\n      errno: 14,\n      code: 'SQLITE_CANTOPEN',\n      sql: \"SELECT `bookSeries`.`id`, `bookSeries`.`bookId`, `bookSeries`.`sequence`, `bookSeries`.`seriesId`, `book`.`id` AS `book.id`, `book`.`title` AS `book.title`, `book`.`titleIgnorePrefix` AS `book.titleIgnorePrefix`, `book`.`subtitle` AS `book.subtitle`, `book`.`publishedYear` AS `book.publishedYear`, `book`.`publishedDate` AS `book.publishedDate`, `book`.`publisher` AS `book.publisher`, `book`.`description` AS `book.description`, `book`.`isbn` AS `book.isbn`, `book`.`asin` AS `book.asin`, `book`.`language` AS `book.language`, `book`.`explicit` AS `book.explicit`, `book`.`abridged` AS `book.abridged`, `book`.`coverPath` AS `book.coverPath`, `book`.`duration` AS `book.duration`, `book`.`narrators` AS `book.narrators`, `book`.`audioFiles` AS `book.audioFiles`, `book`.`ebookFile` AS `book.ebookFile`, `book`.`chapters` AS `book.chapters`, `book`.`tags` AS `book.tags`, `book`.`genres` AS `book.genres`, `book`.`createdAt` AS `book.createdAt`, `book`.`updatedAt` AS `book.updatedAt`, `book->libraryItem`.`id` AS `book.libraryItem.id`, `book->libraryItem`.`ino` AS `book.libraryItem.ino`, `book->libraryItem`.`path` AS `book.libraryItem.path`, `book->libraryItem`.`relPath` AS `book.libraryItem.relPath`, `book->libraryItem`.`mediaId` AS `book.libraryItem.mediaId`, `book->libraryItem`.`mediaType` AS `book.libraryItem.mediaType`, `book->libraryItem`.`isFile` AS `book.libraryItem.isFile`, `book->libraryItem`.`isMissing` AS `book.libraryItem.isMissing`, `book->libraryItem`.`isInvalid` AS `book.libraryItem.isInvalid`, `book->libraryItem`.`mtime` AS `book.libraryItem.mtime`, `book->libraryItem`.`ctime` AS `book.libraryItem.ctime`, `book->libraryItem`.`birthtime` AS `book.libraryItem.birthtime`, `book->libraryItem`.`size` AS `book.libraryItem.size`, `book->libraryItem`.`lastScan` AS `book.libraryItem.lastScan`, `book->libraryItem`.`lastScanVersion` AS `book.libraryItem.lastScanVersion`, `book->libraryItem`.`libraryFiles` AS `book.libraryItem.libraryFiles`, `book->libraryItem`.`extraData` AS `book.libraryItem.extraData`, `book->libraryItem`.`createdAt` AS `book.libraryItem.createdAt`, `book->libraryItem`.`updatedAt` AS `book.libraryItem.updatedAt`, `book->libraryItem`.`libraryId` AS `book.libraryItem.libraryId`, `book->libraryItem`.`libraryFolderId` AS `book.libraryItem.libraryFolderId`, `book->authors`.`id` AS `book.authors.id`, `book->authors`.`name` AS `book.authors.name`, `book->authors`.`lastFirst` AS `book.authors.lastFirst`, `book->authors`.`asin` AS `book.authors.asin`, `book->authors`.`description` AS `book.authors.description`, `book->authors`.`imagePath` AS `book.authors.imagePath`, `book->authors`.`createdAt` AS `book.authors.createdAt`, `book->authors`.`updatedAt` AS `book.authors.updatedAt`, `book->authors`.`libraryId` AS `book.authors.libraryId`, `book->mediaProgresses`.`id` AS `book.mediaProgresses.id`, `book->mediaProgresses`.`mediaItemId` AS `book.mediaProgresses.mediaItemId`, `book->mediaProgresses`.`mediaItemType` AS `book.mediaProgresses.mediaItemType`, `book->mediaProgresses`.`duration` AS `book.mediaProgresses.duration`, `book->mediaProgresses`.`currentTime` AS `book.mediaProgresses.currentTime`, `book->mediaProgresses`.`isFinished` AS `book.mediaProgresses.isFinished`, `book->mediaProgresses`.`hideFromContinueListening` AS `book.mediaProgresses.hideFromContinueListening`, `book->mediaProgresses`.`ebookLocation` AS `book.mediaProgresses.ebookLocation`, `book->mediaProgresses`.`ebookProgress` AS `book.mediaProgresses.ebookProgress`, `book->mediaProgresses`.`finishedAt` AS `book.mediaProgresses.finishedAt`, `book->mediaProgresses`.`extraData` AS `book.mediaProgresses.extraData`, `book->mediaProgresses`.`createdAt` AS `book.mediaProgresses.createdAt`, `book->mediaProgresses`.`updatedAt` AS `book.mediaProgresses.updatedAt`, `book->mediaProgresses`.`userId` AS `book.mediaProgresses.userId` FROM `bookSeries` AS `bookSeries` INNER JOIN `books` AS `book` ON `bookSeries`.`bookId` = `book`.`id` LEFT OUTER JOIN `libraryItems` AS `book->libraryItem` ON `book`.`id` = `book->libraryItem`.`mediaId` AND (`book->libraryItem`.`mediaType` = 'book' AND `book->libraryItem`.`mediaType` = 'book') LEFT OUTER JOIN ( `bookAuthors` AS `book->authors->bookAuthor` INNER JOIN `authors` AS `book->authors` ON `book->authors`.`id` = `book->authors->bookAuthor`.`authorId`) ON `book`.`id` = `book->authors->bookAuthor`.`bookId` LEFT OUTER JOIN `mediaProgresses` AS `book->mediaProgresses` ON `book`.`id` = `book->mediaProgresses`.`mediaItemId` AND ((`book->mediaProgresses`.`userId` = '7615959a-840f-44fe-bb29-13abecb15ec6' AND `book->mediaProgresses`.`mediaItemType` = 'book') AND `book->mediaProgresses`.`mediaItemType` = 'book') WHERE (`bookSeries`.`seriesId` IN ('825cfe31-e4c6-40a5-a5d6-1d79fb28bd16', '219f0cca-fea4-452f-87bc-ab9cd28c0be7', 'acc1c77d-db8a-4e4f-a851-cfb9c0ab5c30', '4c18e832-1a5c-4b95-9233-3c695275c767', 'ad88f469-47e6-4f9b-aff0-98f68bb79834', '888c1d3e-ad8d-4740-978c-e268ee4cfc79', '0add9d2a-75f7-4a3a-994f-d5c60f407647', 'd62f6ed0-f797-4efa-b319-523dfd61cac0', 'e663dd76-1c7a-4fff-be71-f29336ef3a7b', 'eeb44c6a-4bd9-4a4e-9d39-18784b35cebb') AND (`book->mediaProgresses`.`isFinished` IS NULL OR `book->mediaProgresses`.`isFinished` = 0)) ORDER BY CAST(sequence AS FLOAT) ASC NULLS LAST;\"\n    },\n    sql: \"SELECT `bookSeries`.`id`, `bookSeries`.`bookId`, `bookSeries`.`sequence`, `bookSeries`.`seriesId`, `book`.`id` AS `book.id`, `book`.`title` AS `book.title`, `book`.`titleIgnorePrefix` AS `book.titleIgnorePrefix`, `book`.`subtitle` AS `book.subtitle`, `book`.`publishedYear` AS `book.publishedYear`, `book`.`publishedDate` AS `book.publishedDate`, `book`.`publisher` AS `book.publisher`, `book`.`description` AS `book.description`, `book`.`isbn` AS `book.isbn`, `book`.`asin` AS `book.asin`, `book`.`language` AS `book.language`, `book`.`explicit` AS `book.explicit`, `book`.`abridged` AS `book.abridged`, `book`.`coverPath` AS `book.coverPath`, `book`.`duration` AS `book.duration`, `book`.`narrators` AS `book.narrators`, `book`.`audioFiles` AS `book.audioFiles`, `book`.`ebookFile` AS `book.ebookFile`, `book`.`chapters` AS `book.chapters`, `book`.`tags` AS `book.tags`, `book`.`genres` AS `book.genres`, `book`.`createdAt` AS `book.createdAt`, `book`.`updatedAt` AS `book.updatedAt`, `book->libraryItem`.`id` AS `book.libraryItem.id`, `book->libraryItem`.`ino` AS `book.libraryItem.ino`, `book->libraryItem`.`path` AS `book.libraryItem.path`, `book->libraryItem`.`relPath` AS `book.libraryItem.relPath`, `book->libraryItem`.`mediaId` AS `book.libraryItem.mediaId`, `book->libraryItem`.`mediaType` AS `book.libraryItem.mediaType`, `book->libraryItem`.`isFile` AS `book.libraryItem.isFile`, `book->libraryItem`.`isMissing` AS `book.libraryItem.isMissing`, `book->libraryItem`.`isInvalid` AS `book.libraryItem.isInvalid`, `book->libraryItem`.`mtime` AS `book.libraryItem.mtime`, `book->libraryItem`.`ctime` AS `book.libraryItem.ctime`, `book->libraryItem`.`birthtime` AS `book.libraryItem.birthtime`, `book->libraryItem`.`size` AS `book.libraryItem.size`, `book->libraryItem`.`lastScan` AS `book.libraryItem.lastScan`, `book->libraryItem`.`lastScanVersion` AS `book.libraryItem.lastScanVersion`, `book->libraryItem`.`libraryFiles` AS `book.libraryItem.libraryFiles`, `book->libraryItem`.`extraData` AS `book.libraryItem.extraData`, `book->libraryItem`.`createdAt` AS `book.libraryItem.createdAt`, `book->libraryItem`.`updatedAt` AS `book.libraryItem.updatedAt`, `book->libraryItem`.`libraryId` AS `book.libraryItem.libraryId`, `book->libraryItem`.`libraryFolderId` AS `book.libraryItem.libraryFolderId`, `book->authors`.`id` AS `book.authors.id`, `book->authors`.`name` AS `book.authors.name`, `book->authors`.`lastFirst` AS `book.authors.lastFirst`, `book->authors`.`asin` AS `book.authors.asin`, `book->authors`.`description` AS `book.authors.description`, `book->authors`.`imagePath` AS `book.authors.imagePath`, `book->authors`.`createdAt` AS `book.authors.createdAt`, `book->authors`.`updatedAt` AS `book.authors.updatedAt`, `book->authors`.`libraryId` AS `book.authors.libraryId`, `book->mediaProgresses`.`id` AS `book.mediaProgresses.id`, `book->mediaProgresses`.`mediaItemId` AS `book.mediaProgresses.mediaItemId`, `book->mediaProgresses`.`mediaItemType` AS `book.mediaProgresses.mediaItemType`, `book->mediaProgresses`.`duration` AS `book.mediaProgresses.duration`, `book->mediaProgresses`.`currentTime` AS `book.mediaProgresses.currentTime`, `book->mediaProgresses`.`isFinished` AS `book.mediaProgresses.isFinished`, `book->mediaProgresses`.`hideFromContinueListening` AS `book.mediaProgresses.hideFromContinueListening`, `book->mediaProgresses`.`ebookLocation` AS `book.mediaProgresses.ebookLocation`, `book->mediaProgresses`.`ebookProgress` AS `book.mediaProgresses.ebookProgress`, `book->mediaProgresses`.`finishedAt` AS `book.mediaProgresses.finishedAt`, `book->mediaProgresses`.`extraData` AS `book.mediaProgresses.extraData`, `book->mediaProgresses`.`createdAt` AS `book.mediaProgresses.createdAt`, `book->mediaProgresses`.`updatedAt` AS `book.mediaProgresses.updatedAt`, `book->mediaProgresses`.`userId` AS `book.mediaProgresses.userId` FROM `bookSeries` AS `bookSeries` INNER JOIN `books` AS `book` ON `bookSeries`.`bookId` = `book`.`id` LEFT OUTER JOIN `libraryItems` AS `book->libraryItem` ON `book`.`id` = `book->libraryItem`.`mediaId` AND (`book->libraryItem`.`mediaType` = 'book' AND `book->libraryItem`.`mediaType` = 'book') LEFT OUTER JOIN ( `bookAuthors` AS `book->authors->bookAuthor` INNER JOIN `authors` AS `book->authors` ON `book->authors`.`id` = `book->authors->bookAuthor`.`authorId`) ON `book`.`id` = `book->authors->bookAuthor`.`bookId` LEFT OUTER JOIN `mediaProgresses` AS `book->mediaProgresses` ON `book`.`id` = `book->mediaProgresses`.`mediaItemId` AND ((`book->mediaProgresses`.`userId` = '7615959a-840f-44fe-bb29-13abecb15ec6' AND `book->mediaProgresses`.`mediaItemType` = 'book') AND `book->mediaProgresses`.`mediaItemType` = 'book') WHERE (`bookSeries`.`seriesId` IN ('825cfe31-e4c6-40a5-a5d6-1d79fb28bd16', '219f0cca-fea4-452f-87bc-ab9cd28c0be7', 'acc1c77d-db8a-4e4f-a851-cfb9c0ab5c30', '4c18e832-1a5c-4b95-9233-3c695275c767', 'ad88f469-47e6-4f9b-aff0-98f68bb79834', '888c1d3e-ad8d-4740-978c-e268ee4cfc79', '0add9d2a-75f7-4a3a-994f-d5c60f407647', 'd62f6ed0-f797-4efa-b319-523dfd61cac0', 'e663dd76-1c7a-4fff-be71-f29336ef3a7b', 'eeb44c6a-4bd9-4a4e-9d39-18784b35cebb') AND (`book->mediaProgresses`.`isFinished` IS NULL OR `book->mediaProgresses`.`isFinished` = 0)) ORDER BY CAST(sequence AS FLOAT) ASC NULLS LAST;\",\n    parameters: {}\n  }\n}",
  "levelName": "FATAL",
  "level": 5
}

Additional Notes

I am running ABS using Podman. Below is my docker-compose.yml file contents and the command I'm using to start the container.

version: "3.7" services: audiobookshelf: image: ghcr.io/advplyr/audiobookshelf:latest ports: - 14403:80 volumes: - /home/seannymurrs/audiobooks:/audiobooks - /home/seannymurrs/ebooks:/ebooks - /home/seannymurrs/audiobookshelf:/config - /home/seannymurrs/audiobookshelf:/metadata environment: - TZ=America/Detroit restart: unless-stopped

podman-compose -f ~/audiobookshelf/docker-compose.yml up -d

Originally created by @seannymurrs on GitHub (Sep 17, 2024). ### What happened? I have Audiobookshelf running on my seedbox (Whatbox.ca) via Podman. About once a day, I find that the container has crashed. I have to manually go in and shutdown the container and start it back up again. ### What did you expect to happen? I expect the container not to crash on a regular basis. ### Steps to reproduce the issue 1. Attempt to access ABS via the webui. 2. See that the container has crashed. ### Audiobookshelf version v2.13.4 ### How are you running audiobookshelf? Docker ### What OS is your Audiobookshelf server hosted from? Windows ### If the issue is being seen in the UI, what browsers are you seeing the problem on? None ### Logs ```shell { "timestamp": "2024-09-17 05:35:51.539", "source": "Server.js:185", "message": "[Server] Unhandled rejection: SequelizeDatabaseError: SQLITE_CANTOPEN: unable to open database file, promise: Promise {\n <rejected> Error\n at Database.<anonymous> (/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27)\n at /node_modules/sequelize/lib/dialects/sqlite/query.js:183:50\n at new Promise (<anonymous>)\n at Query.run (/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12)\n at /node_modules/sequelize/lib/sequelize.js:315:28\n at async SQLiteQueryInterface.select (/node_modules/sequelize/lib/dialects/abstract/query-interface.js:407:12)\n at async bookSeries.findAll (/node_modules/sequelize/lib/model.js:1140:21)\n at async HasMany.get (/node_modules/sequelize/lib/associations/has-many.js:170:21)\n at async /node_modules/sequelize/lib/model.js:1202:19\n at async Promise.all (index 0) {\n name: 'SequelizeDatabaseError',\n parent: [Error: SQLITE_CANTOPEN: unable to open database file] {\n errno: 14,\n code: 'SQLITE_CANTOPEN',\n sql: \"SELECT `bookSeries`.`id`, `bookSeries`.`bookId`, `bookSeries`.`sequence`, `bookSeries`.`seriesId`, `book`.`id` AS `book.id`, `book`.`title` AS `book.title`, `book`.`titleIgnorePrefix` AS `book.titleIgnorePrefix`, `book`.`subtitle` AS `book.subtitle`, `book`.`publishedYear` AS `book.publishedYear`, `book`.`publishedDate` AS `book.publishedDate`, `book`.`publisher` AS `book.publisher`, `book`.`description` AS `book.description`, `book`.`isbn` AS `book.isbn`, `book`.`asin` AS `book.asin`, `book`.`language` AS `book.language`, `book`.`explicit` AS `book.explicit`, `book`.`abridged` AS `book.abridged`, `book`.`coverPath` AS `book.coverPath`, `book`.`duration` AS `book.duration`, `book`.`narrators` AS `book.narrators`, `book`.`audioFiles` AS `book.audioFiles`, `book`.`ebookFile` AS `book.ebookFile`, `book`.`chapters` AS `book.chapters`, `book`.`tags` AS `book.tags`, `book`.`genres` AS `book.genres`, `book`.`createdAt` AS `book.createdAt`, `book`.`updatedAt` AS `book.updatedAt`, `book->libraryItem`.`id` AS `book.libraryItem.id`, `book->libraryItem`.`ino` AS `book.libraryItem.ino`, `book->libraryItem`.`path` AS `book.libraryItem.path`, `book->libraryItem`.`relPath` AS `book.libraryItem.relPath`, `book->libraryItem`.`mediaId` AS `book.libraryItem.mediaId`, `book->libraryItem`.`mediaType` AS `book.libraryItem.mediaType`, `book->libraryItem`.`isFile` AS `book.libraryItem.isFile`, `book->libraryItem`.`isMissing` AS `book.libraryItem.isMissing`, `book->libraryItem`.`isInvalid` AS `book.libraryItem.isInvalid`, `book->libraryItem`.`mtime` AS `book.libraryItem.mtime`, `book->libraryItem`.`ctime` AS `book.libraryItem.ctime`, `book->libraryItem`.`birthtime` AS `book.libraryItem.birthtime`, `book->libraryItem`.`size` AS `book.libraryItem.size`, `book->libraryItem`.`lastScan` AS `book.libraryItem.lastScan`, `book->libraryItem`.`lastScanVersion` AS `book.libraryItem.lastScanVersion`, `book->libraryItem`.`libraryFiles` AS `book.libraryItem.libraryFiles`, `book->libraryItem`.`extraData` AS `book.libraryItem.extraData`, `book->libraryItem`.`createdAt` AS `book.libraryItem.createdAt`, `book->libraryItem`.`updatedAt` AS `book.libraryItem.updatedAt`, `book->libraryItem`.`libraryId` AS `book.libraryItem.libraryId`, `book->libraryItem`.`libraryFolderId` AS `book.libraryItem.libraryFolderId`, `book->authors`.`id` AS `book.authors.id`, `book->authors`.`name` AS `book.authors.name`, `book->authors`.`lastFirst` AS `book.authors.lastFirst`, `book->authors`.`asin` AS `book.authors.asin`, `book->authors`.`description` AS `book.authors.description`, `book->authors`.`imagePath` AS `book.authors.imagePath`, `book->authors`.`createdAt` AS `book.authors.createdAt`, `book->authors`.`updatedAt` AS `book.authors.updatedAt`, `book->authors`.`libraryId` AS `book.authors.libraryId`, `book->mediaProgresses`.`id` AS `book.mediaProgresses.id`, `book->mediaProgresses`.`mediaItemId` AS `book.mediaProgresses.mediaItemId`, `book->mediaProgresses`.`mediaItemType` AS `book.mediaProgresses.mediaItemType`, `book->mediaProgresses`.`duration` AS `book.mediaProgresses.duration`, `book->mediaProgresses`.`currentTime` AS `book.mediaProgresses.currentTime`, `book->mediaProgresses`.`isFinished` AS `book.mediaProgresses.isFinished`, `book->mediaProgresses`.`hideFromContinueListening` AS `book.mediaProgresses.hideFromContinueListening`, `book->mediaProgresses`.`ebookLocation` AS `book.mediaProgresses.ebookLocation`, `book->mediaProgresses`.`ebookProgress` AS `book.mediaProgresses.ebookProgress`, `book->mediaProgresses`.`finishedAt` AS `book.mediaProgresses.finishedAt`, `book->mediaProgresses`.`extraData` AS `book.mediaProgresses.extraData`, `book->mediaProgresses`.`createdAt` AS `book.mediaProgresses.createdAt`, `book->mediaProgresses`.`updatedAt` AS `book.mediaProgresses.updatedAt`, `book->mediaProgresses`.`userId` AS `book.mediaProgresses.userId` FROM `bookSeries` AS `bookSeries` INNER JOIN `books` AS `book` ON `bookSeries`.`bookId` = `book`.`id` LEFT OUTER JOIN `libraryItems` AS `book->libraryItem` ON `book`.`id` = `book->libraryItem`.`mediaId` AND (`book->libraryItem`.`mediaType` = 'book' AND `book->libraryItem`.`mediaType` = 'book') LEFT OUTER JOIN ( `bookAuthors` AS `book->authors->bookAuthor` INNER JOIN `authors` AS `book->authors` ON `book->authors`.`id` = `book->authors->bookAuthor`.`authorId`) ON `book`.`id` = `book->authors->bookAuthor`.`bookId` LEFT OUTER JOIN `mediaProgresses` AS `book->mediaProgresses` ON `book`.`id` = `book->mediaProgresses`.`mediaItemId` AND ((`book->mediaProgresses`.`userId` = '7615959a-840f-44fe-bb29-13abecb15ec6' AND `book->mediaProgresses`.`mediaItemType` = 'book') AND `book->mediaProgresses`.`mediaItemType` = 'book') WHERE (`bookSeries`.`seriesId` IN ('825cfe31-e4c6-40a5-a5d6-1d79fb28bd16', '219f0cca-fea4-452f-87bc-ab9cd28c0be7', 'acc1c77d-db8a-4e4f-a851-cfb9c0ab5c30', '4c18e832-1a5c-4b95-9233-3c695275c767', 'ad88f469-47e6-4f9b-aff0-98f68bb79834', '888c1d3e-ad8d-4740-978c-e268ee4cfc79', '0add9d2a-75f7-4a3a-994f-d5c60f407647', 'd62f6ed0-f797-4efa-b319-523dfd61cac0', 'e663dd76-1c7a-4fff-be71-f29336ef3a7b', 'eeb44c6a-4bd9-4a4e-9d39-18784b35cebb') AND (`book->mediaProgresses`.`isFinished` IS NULL OR `book->mediaProgresses`.`isFinished` = 0)) ORDER BY CAST(sequence AS FLOAT) ASC NULLS LAST;\"\n },\n original: [Error: SQLITE_CANTOPEN: unable to open database file] {\n errno: 14,\n code: 'SQLITE_CANTOPEN',\n sql: \"SELECT `bookSeries`.`id`, `bookSeries`.`bookId`, `bookSeries`.`sequence`, `bookSeries`.`seriesId`, `book`.`id` AS `book.id`, `book`.`title` AS `book.title`, `book`.`titleIgnorePrefix` AS `book.titleIgnorePrefix`, `book`.`subtitle` AS `book.subtitle`, `book`.`publishedYear` AS `book.publishedYear`, `book`.`publishedDate` AS `book.publishedDate`, `book`.`publisher` AS `book.publisher`, `book`.`description` AS `book.description`, `book`.`isbn` AS `book.isbn`, `book`.`asin` AS `book.asin`, `book`.`language` AS `book.language`, `book`.`explicit` AS `book.explicit`, `book`.`abridged` AS `book.abridged`, `book`.`coverPath` AS `book.coverPath`, `book`.`duration` AS `book.duration`, `book`.`narrators` AS `book.narrators`, `book`.`audioFiles` AS `book.audioFiles`, `book`.`ebookFile` AS `book.ebookFile`, `book`.`chapters` AS `book.chapters`, `book`.`tags` AS `book.tags`, `book`.`genres` AS `book.genres`, `book`.`createdAt` AS `book.createdAt`, `book`.`updatedAt` AS `book.updatedAt`, `book->libraryItem`.`id` AS `book.libraryItem.id`, `book->libraryItem`.`ino` AS `book.libraryItem.ino`, `book->libraryItem`.`path` AS `book.libraryItem.path`, `book->libraryItem`.`relPath` AS `book.libraryItem.relPath`, `book->libraryItem`.`mediaId` AS `book.libraryItem.mediaId`, `book->libraryItem`.`mediaType` AS `book.libraryItem.mediaType`, `book->libraryItem`.`isFile` AS `book.libraryItem.isFile`, `book->libraryItem`.`isMissing` AS `book.libraryItem.isMissing`, `book->libraryItem`.`isInvalid` AS `book.libraryItem.isInvalid`, `book->libraryItem`.`mtime` AS `book.libraryItem.mtime`, `book->libraryItem`.`ctime` AS `book.libraryItem.ctime`, `book->libraryItem`.`birthtime` AS `book.libraryItem.birthtime`, `book->libraryItem`.`size` AS `book.libraryItem.size`, `book->libraryItem`.`lastScan` AS `book.libraryItem.lastScan`, `book->libraryItem`.`lastScanVersion` AS `book.libraryItem.lastScanVersion`, `book->libraryItem`.`libraryFiles` AS `book.libraryItem.libraryFiles`, `book->libraryItem`.`extraData` AS `book.libraryItem.extraData`, `book->libraryItem`.`createdAt` AS `book.libraryItem.createdAt`, `book->libraryItem`.`updatedAt` AS `book.libraryItem.updatedAt`, `book->libraryItem`.`libraryId` AS `book.libraryItem.libraryId`, `book->libraryItem`.`libraryFolderId` AS `book.libraryItem.libraryFolderId`, `book->authors`.`id` AS `book.authors.id`, `book->authors`.`name` AS `book.authors.name`, `book->authors`.`lastFirst` AS `book.authors.lastFirst`, `book->authors`.`asin` AS `book.authors.asin`, `book->authors`.`description` AS `book.authors.description`, `book->authors`.`imagePath` AS `book.authors.imagePath`, `book->authors`.`createdAt` AS `book.authors.createdAt`, `book->authors`.`updatedAt` AS `book.authors.updatedAt`, `book->authors`.`libraryId` AS `book.authors.libraryId`, `book->mediaProgresses`.`id` AS `book.mediaProgresses.id`, `book->mediaProgresses`.`mediaItemId` AS `book.mediaProgresses.mediaItemId`, `book->mediaProgresses`.`mediaItemType` AS `book.mediaProgresses.mediaItemType`, `book->mediaProgresses`.`duration` AS `book.mediaProgresses.duration`, `book->mediaProgresses`.`currentTime` AS `book.mediaProgresses.currentTime`, `book->mediaProgresses`.`isFinished` AS `book.mediaProgresses.isFinished`, `book->mediaProgresses`.`hideFromContinueListening` AS `book.mediaProgresses.hideFromContinueListening`, `book->mediaProgresses`.`ebookLocation` AS `book.mediaProgresses.ebookLocation`, `book->mediaProgresses`.`ebookProgress` AS `book.mediaProgresses.ebookProgress`, `book->mediaProgresses`.`finishedAt` AS `book.mediaProgresses.finishedAt`, `book->mediaProgresses`.`extraData` AS `book.mediaProgresses.extraData`, `book->mediaProgresses`.`createdAt` AS `book.mediaProgresses.createdAt`, `book->mediaProgresses`.`updatedAt` AS `book.mediaProgresses.updatedAt`, `book->mediaProgresses`.`userId` AS `book.mediaProgresses.userId` FROM `bookSeries` AS `bookSeries` INNER JOIN `books` AS `book` ON `bookSeries`.`bookId` = `book`.`id` LEFT OUTER JOIN `libraryItems` AS `book->libraryItem` ON `book`.`id` = `book->libraryItem`.`mediaId` AND (`book->libraryItem`.`mediaType` = 'book' AND `book->libraryItem`.`mediaType` = 'book') LEFT OUTER JOIN ( `bookAuthors` AS `book->authors->bookAuthor` INNER JOIN `authors` AS `book->authors` ON `book->authors`.`id` = `book->authors->bookAuthor`.`authorId`) ON `book`.`id` = `book->authors->bookAuthor`.`bookId` LEFT OUTER JOIN `mediaProgresses` AS `book->mediaProgresses` ON `book`.`id` = `book->mediaProgresses`.`mediaItemId` AND ((`book->mediaProgresses`.`userId` = '7615959a-840f-44fe-bb29-13abecb15ec6' AND `book->mediaProgresses`.`mediaItemType` = 'book') AND `book->mediaProgresses`.`mediaItemType` = 'book') WHERE (`bookSeries`.`seriesId` IN ('825cfe31-e4c6-40a5-a5d6-1d79fb28bd16', '219f0cca-fea4-452f-87bc-ab9cd28c0be7', 'acc1c77d-db8a-4e4f-a851-cfb9c0ab5c30', '4c18e832-1a5c-4b95-9233-3c695275c767', 'ad88f469-47e6-4f9b-aff0-98f68bb79834', '888c1d3e-ad8d-4740-978c-e268ee4cfc79', '0add9d2a-75f7-4a3a-994f-d5c60f407647', 'd62f6ed0-f797-4efa-b319-523dfd61cac0', 'e663dd76-1c7a-4fff-be71-f29336ef3a7b', 'eeb44c6a-4bd9-4a4e-9d39-18784b35cebb') AND (`book->mediaProgresses`.`isFinished` IS NULL OR `book->mediaProgresses`.`isFinished` = 0)) ORDER BY CAST(sequence AS FLOAT) ASC NULLS LAST;\"\n },\n sql: \"SELECT `bookSeries`.`id`, `bookSeries`.`bookId`, `bookSeries`.`sequence`, `bookSeries`.`seriesId`, `book`.`id` AS `book.id`, `book`.`title` AS `book.title`, `book`.`titleIgnorePrefix` AS `book.titleIgnorePrefix`, `book`.`subtitle` AS `book.subtitle`, `book`.`publishedYear` AS `book.publishedYear`, `book`.`publishedDate` AS `book.publishedDate`, `book`.`publisher` AS `book.publisher`, `book`.`description` AS `book.description`, `book`.`isbn` AS `book.isbn`, `book`.`asin` AS `book.asin`, `book`.`language` AS `book.language`, `book`.`explicit` AS `book.explicit`, `book`.`abridged` AS `book.abridged`, `book`.`coverPath` AS `book.coverPath`, `book`.`duration` AS `book.duration`, `book`.`narrators` AS `book.narrators`, `book`.`audioFiles` AS `book.audioFiles`, `book`.`ebookFile` AS `book.ebookFile`, `book`.`chapters` AS `book.chapters`, `book`.`tags` AS `book.tags`, `book`.`genres` AS `book.genres`, `book`.`createdAt` AS `book.createdAt`, `book`.`updatedAt` AS `book.updatedAt`, `book->libraryItem`.`id` AS `book.libraryItem.id`, `book->libraryItem`.`ino` AS `book.libraryItem.ino`, `book->libraryItem`.`path` AS `book.libraryItem.path`, `book->libraryItem`.`relPath` AS `book.libraryItem.relPath`, `book->libraryItem`.`mediaId` AS `book.libraryItem.mediaId`, `book->libraryItem`.`mediaType` AS `book.libraryItem.mediaType`, `book->libraryItem`.`isFile` AS `book.libraryItem.isFile`, `book->libraryItem`.`isMissing` AS `book.libraryItem.isMissing`, `book->libraryItem`.`isInvalid` AS `book.libraryItem.isInvalid`, `book->libraryItem`.`mtime` AS `book.libraryItem.mtime`, `book->libraryItem`.`ctime` AS `book.libraryItem.ctime`, `book->libraryItem`.`birthtime` AS `book.libraryItem.birthtime`, `book->libraryItem`.`size` AS `book.libraryItem.size`, `book->libraryItem`.`lastScan` AS `book.libraryItem.lastScan`, `book->libraryItem`.`lastScanVersion` AS `book.libraryItem.lastScanVersion`, `book->libraryItem`.`libraryFiles` AS `book.libraryItem.libraryFiles`, `book->libraryItem`.`extraData` AS `book.libraryItem.extraData`, `book->libraryItem`.`createdAt` AS `book.libraryItem.createdAt`, `book->libraryItem`.`updatedAt` AS `book.libraryItem.updatedAt`, `book->libraryItem`.`libraryId` AS `book.libraryItem.libraryId`, `book->libraryItem`.`libraryFolderId` AS `book.libraryItem.libraryFolderId`, `book->authors`.`id` AS `book.authors.id`, `book->authors`.`name` AS `book.authors.name`, `book->authors`.`lastFirst` AS `book.authors.lastFirst`, `book->authors`.`asin` AS `book.authors.asin`, `book->authors`.`description` AS `book.authors.description`, `book->authors`.`imagePath` AS `book.authors.imagePath`, `book->authors`.`createdAt` AS `book.authors.createdAt`, `book->authors`.`updatedAt` AS `book.authors.updatedAt`, `book->authors`.`libraryId` AS `book.authors.libraryId`, `book->mediaProgresses`.`id` AS `book.mediaProgresses.id`, `book->mediaProgresses`.`mediaItemId` AS `book.mediaProgresses.mediaItemId`, `book->mediaProgresses`.`mediaItemType` AS `book.mediaProgresses.mediaItemType`, `book->mediaProgresses`.`duration` AS `book.mediaProgresses.duration`, `book->mediaProgresses`.`currentTime` AS `book.mediaProgresses.currentTime`, `book->mediaProgresses`.`isFinished` AS `book.mediaProgresses.isFinished`, `book->mediaProgresses`.`hideFromContinueListening` AS `book.mediaProgresses.hideFromContinueListening`, `book->mediaProgresses`.`ebookLocation` AS `book.mediaProgresses.ebookLocation`, `book->mediaProgresses`.`ebookProgress` AS `book.mediaProgresses.ebookProgress`, `book->mediaProgresses`.`finishedAt` AS `book.mediaProgresses.finishedAt`, `book->mediaProgresses`.`extraData` AS `book.mediaProgresses.extraData`, `book->mediaProgresses`.`createdAt` AS `book.mediaProgresses.createdAt`, `book->mediaProgresses`.`updatedAt` AS `book.mediaProgresses.updatedAt`, `book->mediaProgresses`.`userId` AS `book.mediaProgresses.userId` FROM `bookSeries` AS `bookSeries` INNER JOIN `books` AS `book` ON `bookSeries`.`bookId` = `book`.`id` LEFT OUTER JOIN `libraryItems` AS `book->libraryItem` ON `book`.`id` = `book->libraryItem`.`mediaId` AND (`book->libraryItem`.`mediaType` = 'book' AND `book->libraryItem`.`mediaType` = 'book') LEFT OUTER JOIN ( `bookAuthors` AS `book->authors->bookAuthor` INNER JOIN `authors` AS `book->authors` ON `book->authors`.`id` = `book->authors->bookAuthor`.`authorId`) ON `book`.`id` = `book->authors->bookAuthor`.`bookId` LEFT OUTER JOIN `mediaProgresses` AS `book->mediaProgresses` ON `book`.`id` = `book->mediaProgresses`.`mediaItemId` AND ((`book->mediaProgresses`.`userId` = '7615959a-840f-44fe-bb29-13abecb15ec6' AND `book->mediaProgresses`.`mediaItemType` = 'book') AND `book->mediaProgresses`.`mediaItemType` = 'book') WHERE (`bookSeries`.`seriesId` IN ('825cfe31-e4c6-40a5-a5d6-1d79fb28bd16', '219f0cca-fea4-452f-87bc-ab9cd28c0be7', 'acc1c77d-db8a-4e4f-a851-cfb9c0ab5c30', '4c18e832-1a5c-4b95-9233-3c695275c767', 'ad88f469-47e6-4f9b-aff0-98f68bb79834', '888c1d3e-ad8d-4740-978c-e268ee4cfc79', '0add9d2a-75f7-4a3a-994f-d5c60f407647', 'd62f6ed0-f797-4efa-b319-523dfd61cac0', 'e663dd76-1c7a-4fff-be71-f29336ef3a7b', 'eeb44c6a-4bd9-4a4e-9d39-18784b35cebb') AND (`book->mediaProgresses`.`isFinished` IS NULL OR `book->mediaProgresses`.`isFinished` = 0)) ORDER BY CAST(sequence AS FLOAT) ASC NULLS LAST;\",\n parameters: {}\n }\n}", "levelName": "FATAL", "level": 5 } ``` ### Additional Notes I am running ABS using Podman. Below is my docker-compose.yml file contents and the command I'm using to start the container. `version: "3.7" services: audiobookshelf: image: ghcr.io/advplyr/audiobookshelf:latest ports: - 14403:80 volumes: - /home/seannymurrs/audiobooks:/audiobooks - /home/seannymurrs/ebooks:/ebooks - /home/seannymurrs/audiobookshelf:/config - /home/seannymurrs/audiobookshelf:/metadata environment: - TZ=America/Detroit restart: unless-stopped` `podman-compose -f ~/audiobookshelf/docker-compose.yml up -d`
adam added the bug label 2026-04-25 00:05:33 +02:00
adam closed this issue 2026-04-25 00:05:33 +02:00
Author
Owner

@advplyr commented on GitHub (Sep 17, 2024):

You should reach out to the seedbox for support. It's unlikely this is an Abs issue

@advplyr commented on GitHub (Sep 17, 2024): You should reach out to the seedbox for support. It's unlikely this is an Abs issue
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#2262