W tej części postaram się opisać jakie aplikacje używam do organizacji media serweru. Tak jak w poprzedniej części wszystkie te serwisy są hostowane na oddzielnej maszynie: media
. Na końcu będzie docker-compose plik ze wszystkimi serwisami.
Plex vs Jellyfin Link to heading
TL.RD: jest to serwer który pozwala obejrzeć własne media (filmy z bluray) lub personalne nagrania poprzez przyjemny UI.
Czym jest plex? Plex pozwala streamować własne multimedia na prawie każde urządzenie. To jest oprogramowanie, za pomocą którego zarządzasz swoimi multimediami i masz do nich dostęp z poziomu wielu urządzeń. Plex jest darmowy i pozwala na instalacje serwera prawie wszędzie. Tylko że nie jest do końca darmowy. Na początek już wymaga rejestracji konta w ich serwisie. I domyślnie ma włączony dostęp do własnego serwera przez internet. Co mi się wydaje dość dziwnie że ktoś chcę mieć własny media serwer który jest też dostępny dla każdego pracownika plex. I nie ma problemu wyłączyć i zabronić na taki dostęp w ustawieniach. Ale jakoś od samego początku mi się nie spodobało takie podejście. Po kilku miesiącach użytkowania plex w końcu zdecydowałem się przejrzeć jakie są alternatywy dla niego. Ponieważ miałem dość spory problem z aplikacją Plex na WebOS (LG TB). I nie zbyt mi przypadł interfejs Plex. Po przejrzeniu kilku stron zrozumiałem że są 3 opcje:
Plex już przetestowany, po przeczytaniu opinii o emby zrozumiałem że to jest alternatywa bardzo podobna do plex i oferuje darmowe funkcje jak i posiada płatne. Nie zbyt chciałem testować to samo co plex tylko w innym wydaniu. Kolejnym serwerem na liście był jellyfin. I od początku ten serwer wydaje się bardzo ciekawy: open source, wszystkie funkcje darmowe, nie prosi o rejestracje gdzieś w ich systemie. Niestety za tym idzie jeden minus: nie jest na tyle dopracowany jak poprzednie dwa. Ale dla mnie większym plusem jest to że jest to jednak personalny media serwer nad którym mam kontrolę, a nie self hosted wersja płatnego serwisu który na otwarcie ustawień prosi o wykupienie super wersji. Dużym plusem dla mnie było to że jellyfin posiada aplikacje na WebOS dostępną do pobrania w ich sklepie. Ale kilka razy korzystałem z ich web wersji, i czasami nawet lepiej działa niż aplikacja. No cóż, nie można mieć wszystkiego.
Wszystkie media są trzymam na NAS. Wystarczy podłączyć NAS jako NFS do proxmox i zamontować ten folder do lxc kontenera. W taki sposób wszystkie media będą przechowywane na NAS. Ale jednocześnie będą dostępne w Jellyfin.
Sonarr oraz radarr Link to heading
Sonarr monitoruje wiele źródeł w poszukiwaniu nowych/nadchodzących odcinków ulubionych programów i pobiera je, sortuje i zmienia nazwy. Sonarr automatycznie pobierze każdy nowy odcinek i dodaje go do twojej biblioteki. Radarr jest zasadniczo kopią Sonarr, ale służy do zarządzania filmami.
Do pracy sonarr/radarr jest potrzebny indexer oraz torrent klient. Indekser służy do organizacji źródeł gdzie sonarr/radarr szuka nowy odcinków/filmów. Najpopularniejszym jest Jackett. Jest bardzo prostu w konfiguracji. Wystarczy po zainstalowaniu podać źródła i potem dodać link i klucz do jackett w sonarr/radarr.
Kolejnym elementem jest torrent. Od dawna korzystam z transmission. Jest jednym z najprostszych i najlepszych klientem torrent.
PS: nie widzę potrzeby zbyt mocno opisywać konfiguracje sonarr/radarr. Jest na ten temat dużo artykułów. I chyba nie do końca jestem ok z opisywaniem czegoś takiego.
docker-compose.yaml Link to heading
servises:
jellyfin:
image: jellyfin/jellyfin:10.9.9
hostname: jellyfin
restart: always
volumes:
- /mnt/media/jellyfin:/config
- ./cache:/cache
- type: bind
source: /mnt/media
target: /media
environment:
- TZ=Europe/Warsaw
ports:
- 8096:8096
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
jackett:
image: lscr.io/linuxserver/jackett:0.21.2628
hostname: jackett
restart: always
environment:
- PUID=1000
- PGID=101
- TZ=Europe/Warsaw
volumes:
- ./jackett:/config
ports:
- 9117:9117
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
sonarr:
image: lscr.io/linuxserver/sonarr:4.0.7
hostname: sonarr
restart: always
environment:
- PUID=1000
- PGID=101
- TZ=Europe/Warsaw
volumes:
- ./sonarr:/config
- type: bind
source: /mnt/media
target: /mnt/media
- type: bind
source: /mnt/media/transmission/downloads
target: /downloads
ports:
- 8989:8989
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
radarr:
image: lscr.io/linuxserver/radarr:5.7.0
hostname: radarr
restart: always
environment:
- PUID=1000
- PGID=101
- TZ=Europe/Warsaw
volumes:
- ./radarr:/config
- type: bind
source: /mnt/media
target: /mnt/media
- type: bind
source: /mnt/media/transmission/downloads
target: /downloads
ports:
- 7878:7878
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"