Index denníkaDockup / poznámka z terénu
Note / self-host-navidrome

Ako hostovať Navidrome vo vlastnej réžii v roku 2026: pripojenie hudby, skenovanie a aplikácie Subsonic

Praktická príručka na hostovanie Navidrome vo vlastnej réžii, ktorá sa venuje Dockeru, portom, trvalým dátam, TLS, bezpečnosti, zálohovaniu a problémom brániacim produkčnému používaniu. V roku 2026.

Ak ste sa už pokúšali hostovať Navidrome vo vlastnej réžii, tento frustrujúci stav vám bude pravdepodobne známy: používateľské rozhranie sa zobrazí, ale skenovanie nenájde žiadne súbory, pretože cesta k hudbe na hostiteľovi je pripojená nesprávne. Opätovné vytvorenie kontajnera len zriedka vyrieši nesúlad medzi URL adresami, stavom a závislosťami.

Tento postup používa jedno konkrétne kritérium úspešného dokončenia — naskenovať knižnicu hudby iba na čítanie, overiť metadáta a obaly albumov, streamovať skladbu cez klienta Subsonic a uložiť playlist. Každé konfiguračné rozhodnutie sa posudzuje podľa tohto kritéria, nie podľa zelenej značky kontajnera.

Zálohujte stav, ktorý Navidrome nedokáže znovu vytvoriť

Definujte bod a čas obnovy pre Navidrome s ohľadom na databázu Navidrome, cache obalov albumov, playlisty a pôvodnú hudobnú knižnicu. Pripojte /data ešte pred bootstrapom, zapíšte neškodné vzorové dáta a nahraďte kontajner, aby ste overili, že táto cesta je skutočne trvalá. Pomenovaný volume rieši trvalosť pri opätovnom nasadení, ale nerieši kompromitáciu ani stratu servera.

Pripravte čisté prostredie na obnovu, použite rovnakú pripnutú verziu aplikácie a overte, že sa vrátia používatelia, playlisty, história prehrávania a metadáta a že ten istý klient Subsonic streamuje známu skladbu. Zaznamenajte príkazy, opravy vlastníctva a uplynutý čas. Užitočným štandardom je príručka zálohovania: zálohe možno dôverovať až po obnove, nie po nahratí.

Spustite Navidrome bez skrývania dôležitých súčastí

Používajte kontajner ako nahraditeľné runtime prostredie, nie ako miesto, kde sa nachádza 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

Pred sprístupnením overte lokálnu požiadavku: pripojenie knižnice hudby iba na čítanie a zapisovateľné aplikačné dáta. Pred sprístupnením skontrolujte používateľa kontajnera, zapisovateľné cesty a listener, na ktorom služba počúva. Vykonajte celý postup — naskenujte knižnicu hudby iba na čítanie, overte metadáta a obaly albumov, streamujte skladbu cez klienta Subsonic a uložte playlist — a uložte presnú referenciu na image, ktorá priniesla výsledok.

Vyberte najmenšiu použiteľnú topológiu Navidrome

Začnite sieťovým namespace kontajnera Navidrome: jeho webový listener používa port 4533, nie hostiteľský port skopírovaný z návodu pre laptop. Lokálnou požiadavkou runtime prostredia je pripojenie knižnice hudby iba na čítanie a zapisovateľné aplikačné dáta. Zaznamenajte ju spolu s image a portom, aby náhradný hostiteľ dostal rovnakú lokálnu schopnosť.

Po splnení požiadavky spustite celý scenár — naskenujte knižnicu hudby iba na čítanie, overte metadáta a obaly albumov, streamujte skladbu cez klienta Subsonic a uložte playlist. Zaznamenajte logy a merania času skenovania knižnice, využitia CPU pri transcodingu, cache obalov albumov, počtu súbežných streamov a priepustnosti disku. Tieto dôkazy sa stanú prvou známou funkčnou architektúrou a umožnia testovať neskoršie presuny medzi výpočtovou infraštruktúrou Dockup a pripojeným serverom.

TLS je jednoduché; generované URL adresy nie

Pri servírovaní z podcesty nastavte ND_BASEURL; v opačnom prípade uprednostnite vyhradený HTTPS host. Zvolený hostname smerujte na port kontajnera 4533, preposielajte pôvodný host a HTTPS schému a nezverejňujte druhý priamy origin.

Otestujte Navidrome z čistého externého klienta. Oddeľte zlyhanie ingressu od známej hranice aplikácie — skenovanie nenájde žiadne súbory, pretože cesta k hudbe na hostiteľovi je pripojená nesprávne. Chyba certifikátu, DNS alebo 502 patrí do oblasti routingu; požiadavka, ktorá dorazí do Navidrome a zlyhá až neskôr, súvisí so stavom aplikácie, kapacitou alebo jej podpornou požiadavkou. Prvá skupina je popísaná v príručke k TLS pre vlastnú doménu.

Päť kontrol, ktoré sú dôveryhodnejšie než health kontajnera

Pred príchodom skutočných používateľov vytvorte pre Navidrome release worksheet. Musí obsahovať pripnutú image, port 4533, canonical origin, trvalé cesty a vlastníka pripojenia knižnice hudby iba na čítanie so zapisovateľnými aplikačnými dátami. Pripojte očakávaný výsledok tejto transakcie: naskenovať knižnicu hudby iba na čítanie, overiť metadáta a obaly albumov, streamovať skladbu cez klienta Subsonic a uložiť playlist.

Worksheet použite po bežnej náhrade aj po čistej obnove. Obnova je akceptovaná iba vtedy, keď sa vrátia používatelia, playlisty, história prehrávania a metadáta a ten istý klient Subsonic streamuje známu skladbu. Zhromaždite aj krátky resource trace zahŕňajúci čas skenovania knižnice, využitie CPU pri transcodingu, cache obalov albumov, počet súbežných streamov a priepustnosť disku; uchovávajte ho pri release, aby sa budúce zmeny kapacity porovnávali s rovnakým workloadom.

Zahrňte jedno kontrolované zlyhanie: odošlite neškodný vstup blízko limitu zdroja alebo formátu súvisiaceho s touto hranicou: skenovanie nenájde žiadne súbory, pretože cesta k hudbe na hostiteľovi je pripojená nesprávne. Overte, že Navidrome nahlási problém na správnej hranici, obnovte platnú podmienku a transakciu zopakujte. Tým overíte viditeľnosť chýb, nielen úspech, a zabránite tomu, aby zdravo vyzerajúce rozhranie zakrývalo nefunkčný worker, callback alebo pripojenie k databáze.

Logy, ktoré zodpovedia ďalšiu otázku

Po každom nasadení použite ako smoke test Navidrome tento postup: naskenovať knižnicu hudby iba na čítanie, overiť metadáta a obaly albumov, streamovať skladbu cez klienta Subsonic a uložiť playlist. Jeho podpornými metrikami sú čas skenovania knižnice, využitie CPU pri transcodingu, cache obalov albumov, počet súbežných streamov a priepustnosť disku; alerty nastavte v miestach, kde sa tieto zdroje približujú k bodu zhoršenia používateľskej akcie.

Hlavným rizikom zmien je, že migrácie databázy Navidrome a správanie scanneru sa musia testovať, kým pôvodné hudobné súbory zostávajú nedotknuté. Bezpečný release začína z obnoviteľného snapshotu a pred presunom trafficu overuje každú jednosmernú zmenu stavu. Keď skenovanie nenájde žiadne súbory, pretože cesta k hudbe na hostiteľovi je pripojená nesprávne, ponechajte neúspešný kontajner dostatočne dlho na prečítanie jeho konfigurácie a prvej chyby.

Nedávajte Navidrome celý hostiteľ

Bootstrap okno zatvorte hneď, ako existuje prvý dôveryhodný administrátor. Konkrétnou pascou v Navidrome je pripojenie hudobnej knižnice s právami na zápis bez opodstatnenia; bezpečnejšou hranicou je pripojiť hudbu iba na čítanie, chrániť účty a sprístupniť iba streamingovú službu, nie knižnicu hostiteľa.

ND_BASEURL je konfigurácia, nie secret; jeho hodnotu udržiavajte explicitnú a zároveň chráňte samostatné prihlasovacie údaje používané Navidrome. Súkromná sieť by mala prenášať credentials závislostí a roly v Navidrome by mali udeľovať najmenšiu užitočnú akciu. Citlivé telá požiadaviek a odpovede providerov nezapisujte do bežných logov.

Udržujte Navidrome explicitné, zatiaľ čo Dockup rieši routing

Routing, certifikáty, nahrádzanie služieb a pripojené úložisko sú rozumné ciele automatizácie. Dockup ich pre Navidrome rieši a môže provisionovať súvisiacu managed databázu alebo sa pripojiť k službám na vlastnom serveri zákazníka.

Nemalo by však vymýšľať politiku dôvery Navidrome. Po nasadení pri servírovaní z podcesty nastavte ND_BASEURL; v opačnom prípade uprednostnite vyhradený HTTPS host, vynúťte túto hranicu — pripojte hudbu iba na čítanie, chráňte účty a sprístupnite iba streamingovú službu, nie knižnicu hostiteľa — a overte výsledok tohto scenára: naskenovať knižnicu hudby iba na čítanie, overiť metadáta a obaly albumov, streamovať skladbu cez klienta Subsonic a uložiť playlist. Výsledkom je infraštruktúra na jedno kliknutie s akceptačným testom špecifickým pre aplikáciu.

Často kladené otázky

Čo Navidrome potrebuje na produkčné nasadenie?

Nasmerujte kontajner Navidrome na porte 4533 cez jeden HTTPS origin. Lokálnou požiadavkou runtime prostredia je pripojenie knižnice hudby iba na čítanie a zapisovateľné aplikačné dáta. Navidrome neoznačujte za pripravené, kým nedokážete naskenovať knižnicu hudby iba na čítanie, overiť metadáta a obaly albumov, streamovať skladbu cez klienta Subsonic a uložiť playlist.

Ktoré dáta Navidrome patria do zálohy?

Zachovajte /data a do rovnakého recovery manifestu zahrňte databázu Navidrome, cache obalov albumov, playlisty a pôvodnú hudobnú knižnicu. Čistá obnova Navidrome je úspešná iba vtedy, keď sa vrátia používatelia, playlisty, história prehrávania a metadáta a ten istý klient Subsonic streamuje známu skladbu.

Vyžaduje Navidrome HTTPS za reverse proxy?

Pre verejný origin Navidrome použite HTTPS a port 4533 ponechajte na internej trase. Nastavenie Navidrome aplikujte správne: pri servírovaní z podcesty nastavte ND_BASEURL; v opačnom prípade uprednostnite vyhradený HTTPS host. V prípade Navidrome HTTPS chráni credentials alebo používateľský obsah počas prenosu a zachováva konzistentné správanie klienta závislé od originu.

Ako treba testovať upgrade Navidrome?

Obnovte aktuálny stav Navidrome do izolovaného nasadenia, aplikujte kandidátsku verziu a zopakujte akceptačnú transakciu. Venujte tomu mimoriadnu pozornosť, pretože migrácie databázy Navidrome a správanie scanneru sa musia testovať, kým pôvodné hudobné súbory zostávajú nedotknuté. Predchádzajúcu image Navidrome si ponechajte, kým nepochopíte hranicu migrácie dát a rollbacku.