Navidrome:実行ファイル一つで音楽サーバーが立ち、家中の音源を外から聴ける
要約
Go で書かれ GPL v3 で公開される Navidrome は、Subsonic の規約に沿って接続口を開き、既存の百二の利用側がそのまま繋がる。変換、複数の保管棚、プラグインも備え、いまの版は 0.64.2。
おすすめ- ソフト名
- Navidrome
- バージョン
- 0.64.2
- 料金
- 無料
- オープンソース
- オープンソース
- OS
- WindowsLinuxmacOS
- 更新日時
- 2026-10-21 12:39
Navidrome は Go で書かれた音楽サーバーだ。補助記憶の入れ物に入れた音楽のフォルダが、どこからでも届く私設の流し聴き用の棚になる。自分では携帯電話の利用側を作らず、Subsonic の規約に沿って接続口を開き、既にある再生器を繋がせる。
一つの行程、二つの場所
配置の形は素朴だ。公式はプラットフォームごとに組み上げた実行ファイルを配り、Linux、Windows、macOS、ARM の基板まで揃う。同じく公式のコンテナの像もあり、x86 と ARM の v6、v7、v8 に対応する。動かすには二つの置き場所が要る。一つは記録と控えを置く場所、もう一つは音楽のフォルダを指す場所で、さらに 4533 の出入り口を一つ使う。
外に求める固い依存は ffmpeg だけで、変換はそれが担う。設定の入り口は三つある。環境の変数、命令の行の引数、そして toml の形の設定ファイルで、両方に書いたときは環境の変数が勝ち、コンテナで動かすときはプログラムが自分からデータの場所にある toml を探す。

フォルダを一度なめれば棚ができる
最初の起動で棚を作り、音楽のフォルダを走査する。公式は所要時間の目安を具体的に示しており、その後は走査の予定を決めて、決まった間隔で走らせ直せる。
棚の規模 | 最初の走査にかかる時間 |
|---|---|
千曲まで | 一分以内 |
千から一万曲 | 一から五分 |
一万から五万曲 | 五から十五分 |
五万曲以上 | 十五分から |
棚は目録の印から作り、フォルダからは作らない。よくある質問はそれを率直に書く。フォルダでたどる表示は技術的には可能だが、ほとんどの部品の内部構造を動かすことになり、この製品は初日から印の側に方針を定めた。曲が盤に入り、盤が演者にぶら下がるのは、すべてファイルの中の印による。印を書き間違えれば画面は乱れる。公式は、走査の仕組みを約九十万曲の棚で試したと述べ、そのうち三分の二が FLAC で、この量でも小型の基板で走るとしている。
規約が入り口、利用側は他人に任せる
自前の画面の再生器も備えるが、実際に支えているのは規約の合わせ方だ。文書は Subsonic API 1.16.1 に合わせていると明記し、少数の接続口では違いがあり、OpenSubsonic の拡張を続けて埋めている。違いも公表している。映像に関わる機能は作らない。フォルダでたどる表示は作らず、索引を求める要求には作り物の木を返す。再生の要求そのものは再生の記録にならず、利用側からの報告があって初めて数える。
規約が通れば、利用側は自分で書かなくてよい。公式の一覧は百二の応用を並べ、アンドロイド、iOS、卓上、画面、テレビの箱まで覆い、Subsonic か OpenSubsonic と記したものは繋がる。

複数の棚、権限、切り離し
複数の音楽の棚は 0.58.0 の版から使える。起動のときに設定の音楽フォルダから既定の棚を一つ作り、既にいる利用者には権限が自動で付く。管理者はすべての棚を見られ、普通の利用者は一つずつ許しを与えられ、画面の選択で切り替える。盤は一つの棚にだけ属し、演者は複数の棚にまたがることができ、数は全体でまとめて数える。再生の一覧は複数の棚の曲を混ぜられるが、それぞれの棚に権限があるときにかぎる。音楽と録音図書を分ける、非圧縮と圧縮を分ける、家族それぞれに自分の集めを残す、いずれも設定の問題になる。
変換、控え、分かち合い
再生のときに変換できる。サーバーは再生器で決めた形に合わせ、ファイルを適した伝送量に変えてから送るので、通信も解読の負担も軽くなる。変換の結果は控えに入り、使う上限を決められる。分かち合いは別の道だ。どの利用者も一曲、一枚の盤、一人の演者、一本の一覧について繋がりを作れ、勘定を持たない人も聴け、繋がりは既定で一年後に切れ、長さは変えられ、機能ごと止めることもできる。
賢い一覧と聴いた記録
賢い一覧はいま試しの段階で、規則を JSON で書き、nsp のファイルとして棚の場所に置く。規則には欄、演算、並べ替え、数の上限がある。直近三十日に聴いたものを上位百曲、八十年代で三つ星より上の評価を年の逆順に二十五曲、といった具合だ。相対の時間の条件に割合の上限を組ませると、毎日入れ替わる日ごとの一覧が作れる。
同じ書き方は他所でも使い回される。0.64.0 からは利用者ごとに絞り込みの規則を一つ置け、ある曲を聴いた記録から外せる。祝日の音楽を除く、四つ星以上だけを勧めに回す、といった使い方で、外した曲も手元の再生回数としては数えるので、履歴に穴は空かない。
プラグインと Jellyfin の接続口
プラグインは WebAssembly のサンドボックスの中で走り、まず自分がどの種類の力を出すかを申告する。演者の紹介と盤の表紙を取りに行く、聴いた記録を他のサービスへ送る、決まった仕事を回す、再生の出来事に応じる、といった具合だ。入れ方は、プラグインのファイルを所定の場所に置き、画面で有効にして権限を割り当てる。既定では網の権限を持たず、ローカルネットワークの中のサービスに届くには、その住所の範囲を一覧に書く必要がある。
0.64.0 の版は試験的な Jellyfin の接続口も開いた。既定では閉じている。開くとサーバーは独立した道で Jellyfin の筋の音楽の利用側の要求に応じ、手元の勘定と合言葉で入り、どの装置も再生器として設定の中に現れる。ローカルネットワークでの自動の発見 は UDP 7359 を使い、既定では閉じている。同じ機械に本物の Jellyfin サーバーがあると、両方が同じ出入り口を取り合うからだ。
0.64 の一連の版が直したもの
0.64.0 は大きな版で、いちばん肝心な変更は見えないところに隠れている。内部の番号をすべて 128 ビットの同じ形に書き換え、この移行がすべての表に触れ、上げる前に記録を控えておく必要があり、番号を控えていた利用側は取り直しが要るかもしれない。プラグインを書く人は、サンドボックスの HTTP の力が切られ、要求は宿主の接続口を通すことになった点に注意が要る。
0.64.1 は安全の版で、五つの穴を一度に塞いだ。いちばん重いのは Subsonic の接続口にあり、入りの失敗に速度の制限がなく、攻撃者が全速で合言葉を当てられた。危険度は 7.4 と評価された。もう一つは一覧の中の外部の表紙の住所が内側の網を指せることで、サーバーが内側を探る足場になった。0.64.2 が締めくくりで、遅い補助記憶の不具合を扱う。差し込みの記憶や網の記憶を見に行くと、走査のときに記録が施錠されたという報せが大量に出て、全体の走査が失敗していた。この版は走査の間、表紙の仕事を止める。
誰に向くか
数百 GB の非圧縮を貯めていて、毎月の購読料を払いたくない人こそ典型的な使い手だ。いつも通電している小型の基板、遊んでいる古い携帯の機械、あるいは NAS の上のコンテナ、それで棚が生きる。描画の板を食わず、系を選ばず、組み上げた一つの実行ファイルを置けば走る。
Navidrome は物事を狭く作る道を行く。音楽サーバーだけ、印で組むだけ、Subsonic の一組の規約にだけ狙いを定め、残りは百二の利用側がそれぞれに腕を見せるのに任せる。コードは GNU GPL の第三版で出ており、源の倉庫は二万四千余りの星を集め、版の番号は 0.64.2 まで歩いた。手元の音楽の棚を、いつでも手が届く何かに変えたいとき、これを外しては通れない。