Sign inSign up

michaeldvinci/audiobookshelf-mx

By michaeldvinci

•Updated 5 months ago

Image
0

991

michaeldvinci/audiobookshelf-mx repository overview

⁠audiobookshelf-mx

⚠️ UNOFFICIAL PERSONAL FORK — READ BEFORE PULLING

This is a personal fork of advplyr/audiobookshelf⁠. It is not affiliated with, endorsed by, or supported by the Audiobookshelf project or its maintainers.

  • Shared as-is, with no warranty of any kind.
  • Breaking changes, instability, or data loss are possible at any time.
  • If you pull and run this image, you do so entirely at your own risk.
  • I am not responsible for any issues, data loss, or damages arising from use of this image.

For the stable, supported release use the official image: advplyr/audiobookshelf


⁠What is this?

audiobookshelf-mx is a personal build of Audiobookshelf⁠ — a self-hosted audiobook and podcast server — with additional features layered on top of the upstream 2.33.2 release.

Current additions:

  • Audible preorder tracking — connect your Audible account and see upcoming preorders as a carousel row on your library home page

⁠Quick Start

version: "3.7"
services:
  audiobookshelf:
    image: michaeldvinci/audiobookshelf-mx:latest
    container_name: audiobookshelf
    ports:
      - 13378:80
    volumes:
      - /path/to/audiobooks:/audiobooks
      - /path/to/podcasts:/podcasts
      - /path/to/config:/config
      - /path/to/metadata:/metadata
    restart: unless-stopped

⁠Audible Preorder Tracking

This fork adds native Audible preorder integration. Your upcoming Audible preorders appear automatically as a shelf on your library home page, sorted by soonest release date.

⁠Setup
  1. Get your Audible tokens using audible-cli⁠:

    pip install audible-cli
    audible quickstart
    # Follow the prompts — this authenticates and saves credentials locally
    cat ~/.audible/*.json | jq '{access_token, refresh_token, device_serial: .device_info.device_serial_number}'
    
    

    Copy the access_token and refresh_token values from the exported JSON.

  2. Add your account in Audiobookshelf: go to Settings → Audible (/config/audible), paste your tokens, select your region, and save.

  3. Configure the shelf: choose which library to attach the preorder shelf to and set the shelf position.

  4. Sync: click Sync to fetch your order history. Only books with a future release date are shown.

⁠How it works
  • Fetches all orders from the Audible orders API (/1.0/orders)
  • Finds items with is_preorder: true and looks up each via the catalog API (/1.0/catalog/products/{asin})
  • Filters to products where release_date > now
  • Displays as a carousel row, sorted ascending by release date
  • Access tokens are refreshed automatically on expiry
⁠Security
  • Tokens are encrypted at rest with AES-256-CBC, keyed from the server's JWT secret
  • Sync endpoint is rate-limited to 10 requests per 5 minutes per user
  • Audible account endpoints are strictly user-scoped — no cross-user access
⁠Supported regions

us · ca · uk · au · fr · de · jp · it · in · es


⁠Environment Variables

Inherits all standard Audiobookshelf environment variables. One optional addition:

VariableDescription
AUDIBLE_ENCRYPTION_KEYOverride the key used to encrypt Audible tokens. Defaults to the server's JWT secret if unset.

⁠Volumes

PathDescription
/audiobooksAudiobook library directory
/podcastsPodcast library directory
/configDatabase, settings, backups
/metadataCover art, cache, metadata files

⁠Upstream

Built from: github.com/advplyr/audiobookshelf⁠ v2.33.2

For issues with core Audiobookshelf functionality, please report them upstream. For issues specific to this fork, they are tracked informally and may or may not be addressed.

Tag summary

Content type

Image

Digest

sha256:cdfef4344…

Size

110.5 MB

Last updated

5 months ago

docker pull michaeldvinci/audiobookshelf-mx