Skip to content

Audiobookshelf

Audiobookshelf is a self-hosted audiobook and podcast server with apps for iOS and Android. It manages libraries of audiobooks, ebooks, and podcasts, and supports subscribing to podcast RSS feeds. Available at audiobook.hdhomelab.com.


Deployment

Audiobookshelf runs in Kubernetes (media namespace) as a single-replica Deployment with Recreate strategy. All data lives on NFS volumes on the Synology NAS.

graph LR
    Client -->|HTTPS| Gateway[Cilium Gateway]
    Gateway -->|X-Forwarded-Proto: https| ABS[Audiobookshelf :80]
    ABS -->|RSS feed| Pinchflat[Pinchflat]
    ABS -->|RSS feed| vod2pod[vod2pod-rss]
    ABS --> ConfigPVC[NFS: config]
    ABS --> MetaPVC[NFS: metadata]
    ABS --> AudioPVC[NFS: audiobooks]
    ABS --> EbookPVC[NFS: ebooks]
    ABS --> PodcastPVC[NFS: podcasts]
Hold "Alt" / "Option" to enable pan & zoom
  • URL


    audiobook.hdhomelab.com

  • Namespace


    media

  • Storage


    All volumes on syno-nfs-retain (Synology NAS)

  • Image


    ghcr.io/advplyr/audiobookshelf

  • Config


    flux/apps/noah/media/audiobookshelf/

  • Timezone


    America/New_York


Storage

Mount PVC NAS path Size
/config audiobookshelf-config /volume2/homelab/k8s/pvc-audiobookshelf-config 1Gi
/metadata audiobookshelf-metadata /volume2/homelab/k8s/pvc-audiobookshelf-metadata 5Gi
/audiobooks audiobook-media /volume1/media/audiobook 50Gi
/ebooks ebook-media /volume1/media/ebook 50Gi
/podcasts podcast-media /volume1/media/podcast 50Gi

Podcast RSS Integration

ABS subscribes to RSS feeds from internal services. Because ABS uses ssrf-req-filter to block requests to private IP ranges, internal services must be whitelisted via SSRF_REQUEST_FILTER_WHITELIST.

Current whitelist:

vod2pod.hdhomelab.com,vod2pod-rss,vod2pod-rss.media.svc.cluster.local,
pinchflat.hdhomelab.com,pinchflat,pinchflat.media.svc.cluster.local

Adding a new internal RSS source

Add the service's hostname (and optionally its FQDN) to SSRF_REQUEST_FILTER_WHITELIST in flux/apps/noah/media/audiobookshelf/deployment.yaml.

Pinchflat feeds

Pinchflat generates RSS feeds for downloaded YouTube content. Feed URLs are public (no auth required):

https://pinchflat.hdhomelab.com/sources/<uuid>/feed.xml

vod2pod-rss feeds

vod2pod-rss streams YouTube audio on-the-fly. Feed URL format:

https://vod2pod.hdhomelab.com/transcodize_rss?url=https://www.youtube.com/@channelname/videos

Episode file size

vod2pod-rss reports the original video file size in <enclosure length>, not the transcoded MP3 size. This is cosmetic only — playback is unaffected.


Key Environment Variables

Variable Value
TZ America/New_York
SSRF_REQUEST_FILTER_WHITELIST Internal RSS service hostnames