poniedziałek, 22 grudnia 2025

Lyrion Music Server: plugin Youtube, zdalne sterowanie

 Nawiązując do poprzedniego posta.

YT-dlp url extractor ustawiamy na yt-dlpAPI keyClient ID i Client Secret trzeba sobie ustawić według instrukcji dostarczanej przez panel administracyjny. Do kompletu należałoby włączyć YouTube Data API v3 w ustawieniach projektu aplikacja w Google Cloud.


Client Secret, inaczej Secret Key, przy tworzeniu musimy od razu sobie skopiować i zapisać w bezpiecznym miejscu bo później - według komunikatu który mi się wyświetlił - nie będzie możliwości ponownego wyświetlenia.


Oraz wcześniej wspomniany YouTube Data API v3:


Mając działającego Youtube'a, bibliotekę skompletowanej muzyki i dostęp do innych serwisów streamingowych (z których na tą chwilę nie korzystam) mamy tanie radio własnego "pomysłu".

Serwer możemy między innymi kontrolować z poziomu interfejsu webowego lub z poziomu Androida za pomocą aplikacji Squeezer.


Jest pilot, jest YT, jest biblioteka, jest wszystko :D

niedziela, 21 grudnia 2025

Instalacja i konfiguracja Lyrion Music Server na przykładzie Debiana

Całkiem przez przypadek znalazłem ostatnio Lyrion Music Server. Jest to serwer muzyki z masą różnych opcji i dodatków. Okazało się, że instalacja jest cholernie prosta, soft bardzo użyteczny a i jak ktoś ma stary sprzęt grający (tudzież wzmacniacz, głośniki, cokolwiek innego) to wystarczy zainwestować np w jakiś mały komputerek (terminal, mini pc, raspberry pi, cokolwiek podobnego) i mamy na czym słuchać :D

https://lyrion.org/

Poza instalacją Debiana wystarczy zainstalować paczkę deb z powyższej strony (najlepiej z wykorzystaniem gdebi to i dociągnie zależności) oraz dodatkowo wymagany będzie poniższy odtwarzacz:

https://packages.debian.org/trixie/squeezelite

Dla stable instalujemy...:

apt install squeezelite

Pakiet w repo dostępny jest od wydania Debiana Bullseye do Unstable (na 22.12.2025).

Jako że docelowo chciałem mieć możliwość odtwarzania muzyki zgranej z płyt do katalogu domowego docelowego użyszkodnika, to musiałem trochę pokombinować. Serwer tworzy użytkownika squeezeboxserver, więc testowo dodałem go do następujących grup:

gpasswd -a squeezeboxserver users

gpasswd -a squeezeboxserver uzyszkodnik

Uprawnienia dla katalogu domowego:

chmod -R 755 /home/uzyszkodnik

Pozwoli nam to na dostęp do muzyki. Dla list odtwarzania zrobiłem osobny katalog m3u i dla niego inne uprawnienia:

chmod -R 777 /home/uzyszkodnik/m3u

Dodatkowo, w opcjach serwera:


No i to by było na tyle. Reszta konfiguracji odbywa się poprzez panel administracyjny. Dostęp można zahasłować - panel Zaawansowane i Zabezpieczenia.



Konfiguracja transmission-daemon na przykładzie Debiana Stable

Kilka tygodni temu potrzebowałem skonfigurować klienta Transmission w trybie systemowej usługi (tzw demona). Oto bardzo krótki poradnik na przykładzie Debiana Stable (wersja 13 w momencie pisania). U mnie usługa działa na użytkowniku na którym docelowo operuję.

Najpierw instalujemy:

apt install transmission-cli transmission-common transmission-daemon

Usługa po wystartowaniu ładuje sobie konfig i w trakcie wyłączania np systemu nadpisuje wcześniej zapamiętaną konfigurację. Niweluje nam to wprowadzone w między czasie zmiany także jeżeli po powyższej instalacji, o ile usługa sama z siebie wystartuje, wyłączamy:

systemctl stop transmission-daemon.service

Następnie musimy utworzyć następujący plik (katalog, jeśli nie istniejemy, również należy utworzyć)...:

nano /etc/systemd/system/transmission-daemon.service.d/user.conf

... o następującej zawartości:

[Service]

User=

User=xxx

Group=xxx

Naszego użytkownika, w omawianym przypadku xxx, dodajemy do odpowiedniej grupy:
gpasswd -a xxx debian-transmission
W katalogu domowym tworzymy katalog:
mkdir .config/transmission-daemon
I z katalogu plik z ustawieniami:
cp /etc/transmission-daemon/settings.json .config/transmission-daemon/
Zawartość /etc/transmission-daemon profilaktycznie usuwamy (z poziomu roota):
rm -R /etc/transmission-daemon/*
W pliku konfiguracyjnym .config/transmission-daemon/settings.json znajdujemy i zmieniamy następujące linie tak, żeby ściągnięte materiały były np w naszym katalogu domowym:
    "download-dir": "/home/xxx/Pobrane",
    "incomplete-dir": "/home/xxx/Pobrane",
Hasło znajduje się w poniższej linijce...:
    "rpc-password": "jakies-haslo",
Hasło wpisujemy jakie chcemy, transmission-daemon na swój sposób je przetworzy dając wynik w - na pozór - losowych znakach w pliku wyżej (zakładam, że dlatego wczytuje i nadpisuje konfigurację uniemożliwiając dokonanie zmian w trakcie działania).

Teraz wykonujemy z poziomu roota następujące dwie komendy:
systemctl daemon-reload ; systemctl start transmission-daemon.service
I to by było na tyle. Pisane z pamięci, mam nadzieję że się nie pomyliłem gdzieś po drodze :D