Axel Verne → Junk Drawer kit → Chapter 9

Chapter 9 — Break Up With Big Tech III: Audiobooks & Podcasts → Audiobookshelf

5 blocks to copy, in the order they appear in the chapter. Nothing here is required to be typed by hand.

Organizing the library before you start

9.1 · text
/srv/lab/media/audiobooks/
├── Author Name/
│   ├── Series Name/
│   │   ├── 1 - Book Title/
│   │   │   ├── cover.jpg
│   │   │   ├── chapter1.mp3
│   │   │   ├── chapter2.mp3
│   │   │   └── ...
│   │   ├── 2 - Next Book/
│   │   └── ...
│   └── Standalone Book Title/
│       ├── cover.jpg
│       └── chapters.mp3
└── ...

/srv/lab/media/podcasts/
├── Podcast Series Name/
│   ├── 2024-01-15 - Episode Title.mp3
│   ├── 2024-01-22 - Episode Title.mp3
│   └── ...
└── ...

The build

9.2 · bash
mkdir -p /srv/lab/compose/audiobookshelf && cd /srv/lab/compose/audiobookshelf
9.3 · yaml
services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    container_name: audiobookshelf
    restart: unless-stopped
    ports:
      - "13378:80"
    environment:
      TZ: "Pacific/Honolulu"                     # change to yours
    volumes:
      - /srv/lab/data/audiobookshelf/config:/config
      - /srv/lab/data/audiobookshelf/metadata:/metadata
      - /srv/lab/media/audiobooks:/audiobooks
      - /srv/lab/media/podcasts:/podcasts
9.4 · bash
mkdir -p /srv/lab/data/audiobookshelf/{config,metadata}
mkdir -p /srv/lab/media/{audiobooks,podcasts}
9.5 · bash
docker compose up -d
docker compose logs -f    # wait for "Starting HTTP server on port 80" then Ctrl-C

← Chapter 8Chapter 10 →

Get the next build in your inbox

An email when a new build write-up goes up: what I ran, on what hardware, and the commands that paste. Free, unsubscribe any time. The kit stays free either way.