From a5c34664a581b03fc42566f599c0685d46aca037 Mon Sep 17 00:00:00 2001 From: Hermes Date: Sat, 16 May 2026 22:18:54 +0000 Subject: [PATCH] refactor: split media stack into /docker/compose/mediastack/ --- infrastructure.org | 60 +++++++++++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/infrastructure.org b/infrastructure.org index 495103f..b4c041d 100644 --- a/infrastructure.org +++ b/infrastructure.org @@ -860,28 +860,14 @@ include: - services/portainer.yaml - services/guacamole.yaml - services/guacd.yaml - - services/unpackerr.yaml - - services/bazarr.yaml - - services/flaresolverr.yaml - - services/jellyfin.yaml - - services/jellyseerr.yaml - - services/lazylibrarian.yaml - - services/lidarr.yaml - - services/mylar.yaml - - services/prowlarr.yaml - - services/qbittorrent.yaml - - services/radarr.yaml - - services/sabnzbd.yaml - - services/sonarr.yaml - - services/stash.yaml - - services/tdarr.yaml - - services/tdarr-node.yaml - - services/tubearchivist.yaml - - services/audiobookshelf.yaml - - services/whisparr.yaml #+END_SRC -All 44 services are organized alphabetically by category in the include list. +All 25 infrastructure services in the main compose. Media services +(jellyfin, *arr, tubearchivist, etc.) live in =mediastack/= with their +own compose file and are managed independently via: +#+BEGIN_SRC bash +cd /docker/compose/mediastack && docker compose up -d +#+END_SRC The order matters for startup dependencies: infrastructure services (gluetun, postgresql, valkey, authentik, traefik) come first. @@ -1202,17 +1188,47 @@ services: ** Tube Archivist — YouTube Archiving +Media stack services (jellyfin, *arr, tubearchivist, etc.) have their own +compose file at =/docker/compose/mediastack/docker-compose.yaml=: + +#+BEGIN_SRC yaml :tangle /docker/compose/mediastack/docker-compose.yaml +networks: + networking: + name: networking + external: true + +include: + - services/audiobookshelf.yaml + - services/bazarr.yaml + - services/flaresolverr.yaml + - services/jellyfin.yaml + - services/jellyseerr.yaml + - services/lazylibrarian.yaml + - services/lidarr.yaml + - services/mylar.yaml + - services/prowlarr.yaml + - services/qbittorrent.yaml + - services/radarr.yaml + - services/sabnzbd.yaml + - services/sonarr.yaml + - services/stash.yaml + - services/tdarr.yaml + - services/tdarr-node.yaml + - services/tubearchivist.yaml + - services/unpackerr.yaml + - services/whisparr.yaml + Tube Archivist downloads and indexes YouTube channels, playlists, and videos. It provides full-text search, metadata browsing, and automatic subscription updates via a web UI. The stack has three containers: - =tubearchivist= (main app) — Django-based web UI on port 8000 -- =tubearchivist-es= — Elasticsearch 7.17 for metadata storage + search +- =tubearchivist-es= — Elasticsearch 8.17 for metadata storage + search - =tubearchivist-redis= — Redis for Celery task queue Tube Archivist does NOT need VPN routing (it reaches YouTube directly). -#+BEGIN_SRC yaml :tangle /docker/compose/services/tubearchivist.yaml +#+BEGIN_SRC yaml :tangle /docker/compose/mediastack/services/tubearchivist.yaml services: tubearchivist: image: bbilly1/tubearchivist:latest