音楽ストリーミングサービスからセルフホスト型音楽スタックへの移行

音楽ストリーミングサービスからセルフホスト型音楽スタックへの移行

テレビや映画のストリーミングプラットフォームは、無料の代替手段が豊富にあるため、簡単に切り替えることができますが、音楽ストリーミングサービスではそうはいきません。音楽サービスには、新しい曲の発見、メタデータの管理、プレイリストの作成、デバイス間の同期など、複雑な要素が絡み合っています。さらに、ハードドライブに音楽ライブラリを維持するには、ある程度の労力が必要です。しかし、私は自分の音楽ストリーミングのニーズに非常にうまく対応できるツールの組み合わせを見つけました。以下では、独自の音楽ストリーミングを設定するための包括的な手順をご紹介します。

すべての音楽ストリーミングサービスは、堅牢なバックエンドアーキテクチャに依存しています。Spotify、Apple Music、YouTube Musicなどのプラットフォームは、ユーザーのライブラリの処理、メタデータの管理、シームレスなオーディオストリーミングを実現するために、広範なインフラストラクチャに依存しています。独自の音楽ストリーミングスタックを構築する場合、Navidromeは不可欠なバックエンドコンポーネントとして機能します。

Navidromeはセルフホスト型音楽サーバーとして、音楽ライブラリを体系的にスキャン・整理するとともに、Web、デスクトップ、モバイルアプリケーションと互換性のあるストリーミングインターフェースを提供します。Subsonic APIをサポートしているため、Spotifyに匹敵するユーザーエクスペリエンスを提供する革新的なプレーヤーに接続できます。

ナビドロームログインページ

最適な使用のためには、特に将来 Lidarr やさまざまなダウンロード クライアントなどの自動化ツールでスタックを拡張することを検討している場合は、Docker Compose を利用することをお勧めします。

このガイドではデモンストレーションに Mac 環境を使用していますが、手順は Linux ユーザーにも一貫しており、Windows ユーザーにも簡単です。

Navidromeのインストールに進む前に、音楽ファイル、ダウンロード、サービスデータを効率的に管理するために、整理されたフォルダ構造を確立することが重要です。これは、ターミナルを開いて次のコマンドを入力することで開始できます。

mkdir -p ~/docker/music-servercd ~/docker/music-servermkdir -p musicmkdir -p downloadsmkdir -p compose

musicフォルダには実際のオーディオファイルが保存され、downloadsフォルダは将来の自動化に役立ちます。以下のコマンドを入力して、composeディレクトリに移動します

cd ~/docker/music-server/compose

次のコマンドを実行して Docker Compose ファイルを作成します。

nano docker-compose.yml

次の構成をファイルに挿入します。

services: navidrome: image: deluan/navidrome:latest container_name: navidrome ports: - "4533:4533" volumes: - navidrome_data:/data -../music:/music restart: unless-stoppedvolumes: navidrome_data:

ファイルを保存した後、次のコマンドを実行して Navidrome を起動します。

docker compose up -d

このコマンドはNavidromeイメージをダウンロードし、コンテナを自動的に起動します。コンテナにアクセスするには、Webブラウザを開いてhttp://localhost:4533にアクセスしてください。

管理者アカウントの作成を求められます。ログインすると、Navidrome は自動的に音楽フォルダをスキャンします。既存の音楽ファイルがある場合は、すぐにライブラリに統合されます。

ナビドロームホームページ

おめでとうございます!これで、ローカルマシン上で完全に機能する音楽ストリーミングバックエンドが動作しました。FLACやMP3などの形式で音楽ファイルをアップロードすれば、Navidromeがオンデマンドでストリーミング再生します。

しかし、Navidromeはバックエンドとして機能しますが、Spotifyのようなプラットフォームに匹敵する魅力的なユーザーインターフェースが欠けています。ストリーミング体験を向上させるには、より優れたフロントエンドソリューションを統合する必要があります。

Feishin の統合によるユーザー エクスペリエンスの向上

Navidromeは組み込みのWebインターフェースを提供していますが、見た目よりも機能性を重視しています。目的は果たしているものの、現代のストリーミングサービスに対するユーザーの期待には応えていません。

そこでFeishinの出番です。Subsonicと互換性のある洗練された専用プレーヤーで、滑らかなアニメーションと堅牢なキュー管理機能を備えたモダンなインターフェースを備えています。FeishinはSpotifyによく似ており、アルバム、アーティスト、プレイリスト、直感的な再生コントロールなどの機能をサポートしています。

重要なのは、FeishinはNavidromeにシームレスに接続し、即座に音楽をストリーミングできることです。Feishinをインストールするには、Docker Composeファイルを再度編集し、Feishinを追加するようにしてください。

services: navidrome: image: deluan/navidrome:latest container_name: navidrome ports: - "4533:4533" volumes: - navidrome_data:/data -../music:/music restart: unless-stopped feishin: image: ghcr.io/jeffvli/feishin:latest container_name: feishin ports: - "9180:9180" restart: unless-stoppedvolumes: navidrome_data:

Feishin を追加したら、次のコマンドを実行して起動します。

docker compose up -d

Feishinを起動したら、ブラウザを開いてhttp://localhost:9180にアクセスします。サーバーの種類としてSubsonicを選択し、ローカルホストの場合はNavidromeのアドレスhttp://localhost:4533を入力して、Navidromeへの接続設定を行います。Navidromeの設定時に作成した認証情報を使用してログインします。

フェイシンホームページ

接続が確立されると、Feishin はアーティスト、アルバム、プレイリストを含む音楽ライブラリ全体を自動的に読み込みます。

Lidarrで図書館管理を効率化

音楽ライブラリを手動で管理するのはすぐに面倒になりますが、Lidarrを統合することで作業を大幅に簡素化できます。Lidarr は、フォローしているアーティストを監視し、アルバムを自動的に検索・ダウンロードし、音楽ライブラリ内で整理することで、管理を自動化します。新しいトラックが追加されると、Navidrome が即座に検出し、Feishin にシームレスに表示されます。

Lidarrホームページオプション

Lidarr を組み込むために、Docker Compose ファイルを最後にもう一度編集します。

services: navidrome: image: deluan/navidrome:latest container_name: navidrome ports: - "4533:4533" volumes: - navidrome_data:/data -../music:/music restart: unless-stopped feishin: image: ghcr.io/jeffvli/feishin:latest container_name: feishin ports: - "9180:9180" restart: unless-stopped lidarr: image: linuxserver/lidarr:latest container_name: lidarr ports: - "8686:8686" volumes: - lidarr_config:/config -../music:/music -../downloads:/downloads restart: unless-stoppedvolumes: navidrome_data: lidarr_config:

次のように入力して Lidarr を起動します。

docker compose up -d

次に、ブラウザでhttp://localhost:8686にアクセスします。インターフェースを使ってお気に入りのアーティストを追加すれば、あとはLidarrがライブラリの管理を自動で行います。ダウンロードクライアントと連携することで、Lidarrはトラックの検索から整理まで、すべてのプロセスを自動で処理します。

音楽スタックを継続的に強化

この時点で、完全に機能するセルフホスト型音楽ストリーミングシステムが完成します。Navidromeがライブラリのバックエンドを管理し、Feishinがユーザーインタラクションを強化し、Lidarrがライブラリの維持管理を自動化します。多くのユーザーにとって、特に既存の音楽コレクションをお持ちの場合は、この構成でSpotifyに匹敵するほどの性能を備えています。

私は、シンプルさと信頼性を第一に、これらのコアコンポーネントに重点を置いたセットアップを意図的に構築しました。しかし、リスニング体験をさらに向上させたい場合は、いくつかのアップグレードを行うことで、本格的なストリーミングサービスに近づけることができます。

現在、サーバーへのアクセスは自宅ネットワーク内に限られています。リモートアクセスを有効にすると、どこからでもライブラリをストリーミングできるようになります。TailscaleやWireGuardなどのソリューションは、自宅サーバーへの安全なリンクを提供し、スマートフォン、ノートパソコン、または職場のパソコンからアクセスできるようにします。このアップグレードにより、ユーザビリティが大幅に向上しますが、外部からサーバーにアクセスする際に潜在的なセキュリティリスクを軽減するために、綿密な設定が必要です。

整理をさらに洗練させることで、商用ストリーミングサービスに匹敵するエクスペリエンスを実現できます。アルバムアートの自動取得、アーティスト名の一貫性、そして構造化されたライブラリは、beetsなどのツールによって実現できます。このコマンドラインメタデータマネージャーはMusicBrainzと統合されており、トラックのタグ付け、名前の不一致の解決、アルバムアートワークの取得、そして統一されたフォルダレイアウトの適用などが可能です。

Spotifyのようなプラットフォームの音楽検索機能を再現するのは困難ですが、実現可能です。Spotifyの強力なレコメンデーション機能は、長年の聴取パターンと独自のアルゴリズムに基づいています。一方、ListenBrainzのようなオープンソースのツールは、ユーザーの聴取習慣を追跡し、ユーザーに合わせたレコメンデーションを提供できます。さらに、Exploのようなツールは、これらのインサイトに基づいてNavidromeでプレイリストを作成できます。

セルフホスティングは一見大変そうに思えるかもしれませんが、サブスクリプション料金を節約しながら、メディアをより自由に管理できる可能性が広がります。例えば、Immichのようなソリューションを使ってセルフホスティングすれば、Googleフォトとは独立して写真を管理でき、Papraのようなツールを使ってドキュメント管理システムを構築することも可能です。

出典と画像

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です