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]
-
URL
-
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):
vod2pod-rss feeds¶
vod2pod-rss streams YouTube audio on-the-fly. Feed URL format:
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 |