audiobookshelf/scripts/SCRIPTS.md
2026-02-05 16:42:47 +02:00

2.9 KiB

Database Debug Scripts

Overview

Collection of SQLite scripts to analyze the Audiobookshelf database and identify hardcoded Docker paths that need migration.

Scripts

dump_library_folders.sh

Dumps the libraryFolders table showing:

  • Full paths to library root folders
  • Library IDs for reference

Usage: bash dump_library_folders.sh

Key for migration: Maps Docker paths like /audiobooks to local equivalents.


dump_library_items.sh

Dumps libraryItems table focusing on:

  • Full absolute paths (path)
  • Relative paths (relPath)
  • Unique path prefixes used across all items

Usage: bash dump_library_items.sh

Key for migration: Identifies which library folder each item belongs to based on path prefix.


dump_books.sh

Dumps books table focusing on:

  • Cover image paths (coverPath)
  • Unique cover path prefixes

Usage: bash dump_books.sh

Key for migration: Identifies metadata paths like /metadata/items/{id}/cover.jpg.


dump_feeds.sh

Dumps feeds table showing:

  • Server addresses (Docker hostnames)
  • Feed URLs
  • Cover paths for RSS feeds

Usage: bash dump_feeds.sh

Key for migration: Finds Docker hostnames like http://audiobookshelf:8080 that need local URLs.


dump_settings.sh

Dumps settings table extracting:

  • Path-related values from JSON
  • URLs and server addresses
  • Configuration paths

Usage: bash dump_settings.sh

Key for migration: Finds settings like backupPath, server URLs in JSON config.


dump_all.sh (Master Summary)

Runs all dumps and provides a consolidated view:

  • Library folder paths
  • Path prefixes across items
  • Cover path prefixes
  • Server addresses
  • Settings with paths/URLs
  • Quick scan of all Docker-like paths

Usage: bash dump_all.sh


Makefile Targets

Run from the scripts/ directory:

cd scripts
make all           # Run all dumps
make summary       # Run master summary
make help          # Show available targets

Individual Targets

make library_folders  # libraryFolders paths
make library_items    # libraryItems paths
make books            # books coverPaths
make feeds            # feeds URLs
make settings         # settings JSON paths

Example Output

=== libraryFolders ===
ID | PATH | LIBRARY_ID
---|------|-----------
9f980819-... | /audiobooks | a04cbf28-...
43bf8c8d-... | /libraries/romance | dad4448d-...

=== Unique Path Prefixes ===
/audiobooks
/libraries/romance

Common Docker Paths Found

Path Pattern Description
/audiobooks Library root
/libraries/... Additional libraries
/metadata/items/... Item metadata/covers
/metadata/backups Backup directory
http://audiobookshelf:8080 Docker service URL

Next Steps

  1. Run make summary to get complete overview
  2. Identify Docker paths specific to your deployment
  3. Create path mapping configuration
  4. Run migration script to update paths