Jak si v roce 2026 hostovat Navidrome: připojení hudby, skenování a aplikace Subsonic
Praktický návod na self-hosting Navidrome pokrývající Docker, porty, persistentní data, TLS, zabezpečení, zálohy a problémy, které brání použití v produkci. V roce 2026.
Pokud jste se už pokoušeli hostovat Navidrome sami, nejspíš znáte frustrující stav: zobrazí se UI, ale skenování nenajde žádné soubory, protože cesta k hudbě na hostiteli je připojena nesprávně. Opětovné vytvoření kontejneru jen zřídka vyřeší nesoulad mezi URL, stavem a závislostmi.
Tento návod používá jedno konkrétní kritérium dokončení — proskenovat hudební knihovnu pouze pro čtení, ověřit metadata a artwork, streamovat skladbu přes klienta Subsonic a uložit playlist. Každé konfigurační rozhodnutí posuzujeme podle tohoto kritéria, nikoli podle zeleného indikátoru kontejneru.
Zálohujte stav, který Navidrome nedokáže znovu vytvořit
Definujte bod a dobu obnovy pro Navidrome s ohledem na databázi Navidrome, cache artworku, playlisty a původní hudební knihovnu. Připojte /data ještě před bootstrapem, zapište neškodná testovací data a nahraďte kontejner, abyste ověřili, že je daná cesta skutečně persistentní. Pojmenovaný volume řeší persistenci při redeployi; neřeší ale kompromitaci ani ztrátu serveru.
Připravte čisté prostředí pro obnovu, použijte stejnou připnutou verzi aplikace a ověřte, že se vrátí uživatelé, playlisty, historie přehrávání a metadata a že stejný klient Subsonic přehraje známou skladbu. Zaznamenejte příkazy, opravy vlastníka a uplynulý čas. Průvodce zálohováním je užitečný standard: záloze lze důvěřovat až po obnovení, nikoli po nahrání.
Spusťte Navidrome, aniž byste skryli důležité části
Používejte kontejner jako nahraditelný runtime, nikoli jako místo, kde se nachází zdroj pravdy.
docker run -d \
--name navidrome \
--restart unless-stopped \
-p 127.0.0.1:4533:4533 \
-v navidrome-data:/data \
-v /srv/music:/music:ro \
-e ND_BASEURL=/ \
deluan/navidrome:latest
Před vystavením služby ověřte lokální požadavek: připojení hudební knihovny pouze pro čtení a zapisovatelná aplikační data. Před vystavením zkontrolujte uživatele kontejneru, zapisovatelné cesty a naslouchající endpoint. Proveďte celou akci — proskenujte hudební knihovnu pouze pro čtení, ověřte metadata a artwork, streamujte skladbu přes klienta Subsonic a uložte playlist — a uložte přesný odkaz na image, která tento výsledek vytvořila.
Zvolte nejmenší použitelnou topologii Navidrome
Začněte síťovým namespace Navidrome: jeho webový listener používá port 4533, nikoli hostitelský port zkopírovaný z návodu pro notebook. Lokální požadavek runtime je připojení hudební knihovny pouze pro čtení a zapisovatelná aplikační data. Zaznamenejte ho společně s image a portem, aby náhradní hostitel získal stejné lokální možnosti.
Po splnění požadavku spusťte celý scénář — proskenujte hudební knihovnu pouze pro čtení, ověřte metadata a artwork, streamujte skladbu přes klienta Subsonic a uložte playlist. Zaznamenejte logy a měření doby skenování knihovny, využití CPU při transcodingu, cache artworku, počtu souběžných streamů a propustnosti disku. Tyto údaje se stanou první známou funkční architekturou a umožní později testovat přesuny mezi výpočetní infrastrukturou Dockup a připojeným serverem.
TLS je snadné; generování URL nikoli
Nastavte ND_BASEURL při poskytování služby z podcesty; v opačném případě preferujte vyhrazený HTTPS hostitel. Směrujte zvolený hostname na port kontejneru 4533, předejte původní host a HTTPS scheme a nezveřejňujte druhý přímý origin.
Otestujte Navidrome z čistého externího klienta. Oddělte selhání ingressu od známé hranice aplikace — skenování nenajde žádné soubory, protože cesta k hudbě na hostiteli je připojena nesprávně. Chyba certifikátu, DNS nebo 502 patří do routingu; požadavek, který dorazí do Navidrome a selže až později, souvisí se stavem aplikace, kapacitou nebo její podpůrnou podmínkou. Průvodce TLS pro vlastní doménu pokrývá první skupinu.
Pět kontrol důkladnějších než health check kontejneru
Než dorazí skuteční uživatelé, vytvořte pro Navidrome release worksheet. Musí obsahovat připnutou image, port 4533, canonical origin, persistentní cesty a vlastníka připojení hudební knihovny pouze pro čtení se zapisovatelnými aplikačními daty. Připojte očekávaný výsledek této transakce: proskenovat hudební knihovnu pouze pro čtení, ověřit metadata a artwork, streamovat skladbu přes klienta Subsonic a uložit playlist.
Worksheet použijte po běžném nahrazení i po čisté obnově. Obnova je akceptována pouze tehdy, pokud se vrátí uživatelé, playlisty, historie přehrávání a metadata a stejný klient Subsonic přehraje známou skladbu. Zároveň shromážděte krátký resource trace zahrnující dobu skenování knihovny, využití CPU při transcodingu, cache artworku, počet souběžných streamů a propustnost disku; uchovávejte ho u release, aby se budoucí změny kapacity porovnávaly se stejným workloadem.
Zahrňte jedno řízené selhání: odešlete neškodný vstup blízko limitu zdroje nebo formátu souvisejícího s touto hranicí: skenování nenajde žádné soubory, protože cesta k hudbě na hostiteli je připojena nesprávně. Ověřte, že Navidrome nahlásí problém na správné hranici, vraťte platné podmínky a transakci spusťte znovu. Tím ověříte viditelnost chyb, nikoli jen úspěch, a zabráníte tomu, aby zdravě vypadající rozhraní zakrývalo nefunkční worker, callback nebo připojení k databázi.
Logy, které zodpoví další otázku
Po každém deploymentu použijte jako smoke test Navidrome: proskenovat hudební knihovnu pouze pro čtení, ověřit metadata a artwork, streamovat skladbu přes klienta Subsonic a uložit playlist. Podpůrné metriky tvoří doba skenování knihovny, využití CPU při transcodingu, cache artworku, počet souběžných streamů a propustnost disku; alerty nastavte tam, kde se tyto zdroje blíží bodu, při němž dochází ke zhoršení uživatelské akce.
Hlavním rizikem změn je, že migrace databáze Navidrome a chování scanneru je třeba testovat, zatímco původní hudební soubory zůstanou nedotčené. Bezpečný release začíná obnovitelným snapshotem a před přesunem provozu ověřuje každou jednosměrnou změnu stavu. Když skenování nenajde žádné soubory, protože cesta k hudbě na hostiteli je připojena nesprávně, ponechte nefunkční kontejner dostatečně dlouho, abyste mohli přečíst jeho konfiguraci a první chybu.
Nedávejte Navidrome celý hostitel
Jakmile existuje první důvěryhodný administrátor, uzavřete bootstrap window. Konkrétní past u Navidrome spočívá v připojení hudební knihovny s možností zápisu bez opodstatnění; bezpečnější hranicí je připojit hudbu pouze pro čtení, chránit účty a vystavit pouze streamingovou službu, nikoli knihovnu hostitele.
ND_BASEURL je konfigurace, nikoli secret; její hodnotu ponechte explicitní a chraňte oddělené credentials používané Navidrome. Private networking by mělo přenášet credentials závislostí a role uvnitř Navidrome by měly povolovat jen nejmenší užitečnou akci. Citlivá těla requestů a odpovědi providerů nezapisujte do běžných logů.
Udržujte Navidrome explicitní, zatímco Dockup řeší routing
Routing, certifikáty, nahrazování služeb a připojené storage jsou rozumné cíle pro automatizaci. Dockup je pro Navidrome zajišťuje a může zřídit související managed databázi nebo se připojit ke službám na vlastním serveru zákazníka.
Neměl by ale vymýšlet trust policy Navidrome. Po deploymentu nastavte ND_BASEURL při poskytování služby z podcesty; v opačném případě preferujte vyhrazený HTTPS hostitel, vynucujte tuto hranici — připojte hudbu pouze pro čtení, chraňte účty a vystavte pouze streamingovou službu, nikoli knihovnu hostitele — a ověřte výsledek tohoto scénáře: proskenovat hudební knihovnu pouze pro čtení, ověřit metadata a artwork, streamovat skladbu přes klienta Subsonic a uložit playlist. Výsledkem je infrastruktura na jedno kliknutí s acceptance testem specifickým pro aplikaci.
Často kladené dotazy
Co Navidrome potřebuje pro produkční deployment?
Směrujte kontejner Navidrome na portu 4533 přes jediný HTTPS origin. Lokální požadavek runtime je připojení hudební knihovny pouze pro čtení a zapisovatelná aplikační data. Navidrome neoznačujte za připravené, dokud nedokážete proskenovat hudební knihovnu pouze pro čtení, ověřit metadata a artwork, streamovat skladbu přes klienta Subsonic a uložit playlist.
Která data Navidrome patří do zálohy?
Persistujte /data a do stejného manifestu obnovy zahrňte databázi Navidrome, cache artworku, playlisty a původní hudební knihovnu. Čistá obnova Navidrome je úspěšná pouze tehdy, když se vrátí uživatelé, playlisty, historie přehrávání a metadata a stejný klient Subsonic přehraje známou skladbu.
Vyžaduje Navidrome za reverse proxy HTTPS?
Pro veřejný origin Navidrome používejte HTTPS a port 4533 ponechte na interní routě. Nastavení Navidrome aplikujte správně: při poskytování služby z podcesty nastavte ND_BASEURL; v opačném případě preferujte vyhrazený HTTPS hostitel. U Navidrome HTTPS chrání credentials nebo uživatelský obsah při přenosu a zachovává konzistentní chování klienta závislé na originu.
Jak testovat upgrade Navidrome?
Obnovte aktuální stav Navidrome do izolovaného deploymentu, aplikujte kandidátní verzi a zopakujte acceptance transakci. Věnujte tomu zvláštní pozornost, protože migrace databáze Navidrome a chování scanneru je třeba testovat, zatímco původní hudební soubory zůstanou nedotčené. Předchozí image Navidrome ponechte k dispozici, dokud nebudete rozumět hranici migrace dat a rollbacku.
