QNAP od wersji 4.4.2 systemu QTS nie ma już wbudowanego serwera iTunes, co oznacza, że bezpośrednio z poziomu aplikacji iTunes lub Muzyka (w macOS Catalina) nie możemy przeglądać zawartości biblioteki muzycznej na NAS. Jest to spowodowane zmianami wprowadzonymi przez Apple – od systemu Catalina nie ma już klasycznej aplikacji iTunes. Dodatkowo nie mamy też możliwości połączenia się do lokalnego serwera iTunes z poziomu aplikacji Muzyka na iOS – obecnie synchronizacja i udostępnianie biblioteki muzycznej odbywa się za pomocą Apple Cloud. Istnieje jednak łatwy sposób, aby tę funkcję przywrócić. I tutaj z pomocą przychodzą nam kontenery obsługiwane przez Container Station. O Container Station pisałem już przy okazji artykułu dotyczącego zaawansowanej konfiguracji MSSQL Server na QNAP. Dzisiaj wykorzystamy kontenery, aby uruchomić oprogramowanie DAAPD, dokładnie forked-daapd. DAAP to skrót od Digital Audio Access Protocol (protokół dostępu do cyfrowego audio),  który wykorzystywany jest przez iTunes (oraz inne aplikacje) do współdzielenia i streamowania muzyki w sieci. Autorem forked-daapd jest ejurgensen, a cały projekt jest przepisaną wersją mt-daapd (Firefly Media Server). Więcej o projekcie można przeczytać na jego stronie; http://ejurgensen.github.io/forked-daapd/

My jednak skorzystamy z innej wersji (a więc kolejnego forka), który został przygotowany przez ekipę LinuxServer.io

Wybrałem tę wersję, ponieważ jest najłatwiejsza w konfiguracji i pozwala na szybkie skonfigurowanie i uruchomienie całego środowiska.

A więc zaczynamy

Po pierwsze musimy na naszym QNAP zainstalować aplikację Container Station, którą znajdziemy w App Center. Jeśli do tej pory jej nie instalowaliśmy, musimy to zrobić teraz. Dokładny opis instalacji aplikacji dostępny jest tutaj, kroki 1-3. Następnie musimy pobrać najnowszą wersję obrazu kontenera na naszego NAS. W tym celu łączymy się z NAS przez SSH:

i wykonujemy następującą komendę:

docker pull linuxserver/daapd

Dzięki temu zostanie pobrana najnowsza wersja obrazu daapd z repozytorium linuxserver. Możemy zweryfikować, czy obraz został pobrany z poziomu Container Station, wchodząc w menu do Obrazy/Images:

Teraz musimy zadbać o konfigurację po stronie QNAP. Aby serwer iTunes mógł działać, musimy mieć muzykę przechowywaną w określonym miejscu na naszym woluminie. Standardowo jest to automatycznie tworzony katalog Multimedia, i z takiego katalogu będę korzystał w przykładzie. Drugi katalog będzie nam potrzebny na pliki konfiguracyjne, ale spokojnie możemy go utworzyć w standardowym katalogu kontenerów, w moim przypadku to katalog DAAPD_config w folderze Container:

Na tym etapie możemy przejść to tworzenia kontenera w Container Station. Tam przechodzimy do Utwórz (Create) i w polu wyszukiwania wpisujemy DAAPD – zostanie wyświetlony pobrany wcześniej obraz kontenera. Zwróćmy tylko uwagę, czy faktycznie pobierany jest z lokalnego repozytorium:

Po kliknięciu Create zostanie wyświetlony kreator tworzenia kontenera. W pierwszym oknie ustawiamy maksymalne wartości dla RAM i CPU, z których będzie korzystał kontener. Następnie klikamy Ustawienia Zaawansowane (Advanced Settings)

Konfigurację ustawień zaawansowanych zaczynamy od zmiennych środowiskowych. Tutaj musimy dodać trzy wartości:

PUID = 1000

PGID = 1000

TZ=Europe/Warsaw

Następnie przechodzimy do części Sieć (Network), gdzie zmieniamy ustawienia typu połączenia na Host. W ten sposób kontener będzie dostępny pod tym samym adresem, co NAS, tylko pod określonym portem: 3689

I ostatni krok, czyli mapowanie katalogów. W przypadku tego kontenera jest to na dobrą sprawę najważniejsze ustawienie, bo dzięki niemu wskazujemy, gdzie znajduje się nasza biblioteka muzyczna. Musimy zamapować dwa foldery – z konfiguracją i plikami muzycznymi. Katalogi utworzyłem już wcześniej, więc teraz mapuję następująco:

[katalog z konfiguracją] : /config

[katalog z muzyką] : /Multimedia

Po zakończeniu konfiguracji klikamy Utwórz (Create) i po chwili nasz kontener jest utworzony:

Jeśli kontener działa, nie pozostaje nam nic innego, jak tylko przejść pod adres http:[IPnaszegoNAS]:3689

Powinien nam się ukazać taki widok jak niżej. Spokojnie, niemal pusty ekran to nic złego 🙂

Klikamy w ikonę katalogu lub muzyki w lewym górnym rogu i… widzimy muzykę z katalogu Multimedia

Oczywiście możemy dalej normalnie nawigować w katalogach z muzyką:

Wszystko wygląda poprawnie, więc możemy teraz sprawdzić, czy serwer z muzyką jest widoczny z poziomu aplikacji Muzyka. Klikając napis Biblioteka. Zostanie wyświetlona lista dostępnych serwerów iTunes. Powinien być na niej widoczny serwer o nazwie LS.IO Music:

Wybierając ten serwer powinniśmy zobaczyć muzykę zapisaną na naszym QNAP:

BTW, widoczny na ekranie album, Nine Inch Nails – Ghosts V: Together można pobrać za darmo z ich strony: https://store.nin.com/products/ghosts-digital-download

A teraz ciekawostka. Dostęp do biblioteki możemy też uzyskać z poziomu aplikacji Apple Pilot, która pozwala sterować odtwarzaniem za pomocą telefonu.

 

W tym momencie musimy wrócić do strony i podać wyświetlony na ekranie telefonu kod:

Po jego wpisaniu aplikacja na telefonie zostanie sparowana i będzie mogła uzyskać dostęp do serwera iTunes:

 

Ostatnia rzecz, którą warto jeszcze zmienić, to nazwę naszego serwera na trochę bardziej przyjazną 🙂

Robimy to w pliku konfiguracyjnym, który znajdziemy w katalogu Container -> DAAPD_config (oczywiście, jeśli stworzyliście kontener z takim katalogiem jak ja). Tam znajdziemy plik forked-daapd.conf, który należy wyedytować. Możemy to zrobić w prosty sposób – klikamy na niego prawym przyciskiem myszy i wybieramy Open with Text Editor. Uwaga – jeśli aplikacja Text Editor nie jest zainstalowana, zostanie wyścielony komunikat o potrzebie instalacji. Możemy to zrobić w App Center.

W otwartym edytorze szukamy linii 62:  name = “LS.IO Music”. Tę nazwę możemy zmienić na inną. Ja ustawiłem QNAPitunes

Po wprowadzeniu zmian, zapisujemy:

Ostatni krok to restart kontenera w Container Station:

Po chwili system będzie już widoczny pod nową nazwą:

Uwaga – czasem może się okazać, że aplikacja pilot nie łączy się do serwera. Wtedy należy usunąć serwer i dodać go jeszcze raz jak wcześniej. Po tej operacji będzie widoczna nowa nazwa: