Skip to content

๐ŸŽฌ Media Services โ€” Companion Apps

Host: Homelab ยท Compose: Homelab/Media/services/compose.yaml
Stack name: services


1. Overview

Media companion applications that supplement the main ARR-Stack: a book manager, media statistics tools, YouTube archiving, podcast management, music discovery (Soulseek), and more. These run on the media server alongside the main media library.


2. Architecture & Services

Service Image Port Role
booklore the-booklore/booklore:v2.2.2 6060 eBook and comic book library manager
bl_mariadb linuxserver/mariadb:11.4.12 โ€” MariaDB for Booklore
jellystat cyfershepard/jellystat:1.1.10 3282 Jellyfin statistics dashboard
jellystat-db postgres:15 โ€” PostgreSQL for Jellystat
jellyplex-watched luigi311/jellyplex-watched:8.5.3 โ€” Sync watched status Jellyfin โ†” Plex
kids_pinchflat kieraneglin/pinchflat 8946 YouTube downloader (Kids content)
pinchflat kieraneglin/pinchflat 8945 YouTube downloader (main)
ytvids-pinchflat kieraneglin/pinchflat 8947 YouTube downloader (YT Vids)
koito gabehf/koito:v0.3.2 โ€” Anime watch list tracker
opodsync ganeshlab/opodsync:0.5.3 38081 gPodder sync server
pinepods madeofpendletonwool/pinepods:0.8.2 8040 Self-hosted podcast manager
pinepods_db 11notes/postgres:17 โ€” PostgreSQL for Pinepods
podgrab akhilrex/podgrab:1.0.0 28081 Podcast downloader
soulseek realies/soulseek 6080 Soulseek P2P music client (web UI)
stash stashapp/stash:v0.31.1 9999 Adult media library manager
tautulli tautulli/tautulli:v2.17.1 8181 Plex statistics and notifications
valkey valkey/valkey:8-alpine โ€” Valkey cache for Pinepods

3. Networking

All services use: - apps โ€” External shared app network - database โ€” External shared database network
- traefik โ€” External for Traefik routing - cloudflare-net โ€” External for Cloudflare Tunnel access (Booklore, Koito, gPodder)


4. Persistent Storage

Key paths:

Service Host Path Description
booklore /docker/data/media/booklore/data App data
booklore /nfs/media/booklore/ Book files (NFS)
jellystat /docker/data/media/jellystat/ Stats backup
jellystat-db /docker/data/media/jellystat/postgres DB data
pinchflat /docker/data/media/pinchflat/config Config + /nfs/media/YouTube
pinepods /nfs/media/Podcasts/ Podcast downloads
soulseek /docker/data/media/soulseek/appdata App data
tautulli /docker/data/media/tautulli Config and history

5. Environment Variables

Variable Service Description
PUID / PGID Most 1027:100
TZ Most Australia/Sydney
PINEPODS_POSTGRES_PASSWORD Pinepods + DB From .env
DB_TYPE Pinepods postgresql
KOITO_SQLITE_ENABLED Koito true
jellyplex env jellyplex-watched From .env

6. Access & Usage

Service URL
Booklore https://booklore.m1ckyb.com
Jellystat https://jellystat.home-lab.micky.id.au
Pinepods https://pinepods.home-lab.micky.id.au
Tautulli https://tautulli.home-lab.micky.id.au
Pinchflat https://pinchflat.home-lab.micky.id.au
gPodder https://gpodder.m1ckyb.com
docker compose -f Homelab/Media/services/compose.yaml up -d

7. Maintenance & Backup

docker compose -f Homelab/Media/services/compose.yaml pull
docker compose -f Homelab/Media/services/compose.yaml up -d

# Backup configs (media files live on NFS)
rsync -av /docker/data/media/ /backup/media/