私は昨年からセルフホスティングに少し興味を持っています。 Trello をセルフホスト型で置き換えることから始まりましたが、それ以来、私は毎日使うアプリをセルフホスト型の代替アプリに置き換えることを試みてきました。最近、Spotify プレミアムの料金を払っていることに気づきましたが、Spotify が提供するおすすめが気に入らないため、アプリを開くことはめったにありません。ほとんどの場合、私は携帯電話に保存した音楽を聴くだけです。そこで私はここ数日、小さな音楽コレクションをストリーミングできるアプリを探していました。試行錯誤しましたが、満足のいくものが見つかりました。ここでは、音楽ライブラリ用に Spotify のようなアプリをセルフホストする方法を紹介します。
セルフホスティングを初めて使用する場合、それは基本的に、独自のハードウェア上でプラットフォームまたはアプリを実行していることを意味します。そうすることで、データを完全に制御できるようになり、サブスクリプション料金も節約できます。それはあなたが思っているよりも簡単です。マシン上で音楽ストリーミング サービスをホストするのは大変な作業のように思えますが、実際には Docker のおかげで非常に簡単です。
「仮想化」、つまりコンピューター上の仮想マシン内でオペレーティング システム全体を実行する方法について聞いたことがあるかもしれません。 Docker もそれに似ていますが、オペレーティング システム全体ではなくアプリとサービス向けに設計されている点が異なります。 Docker に事前構築されたイメージの形式で「レシピ」を提供すると、仮想コンテナーが起動され、その中でアプリがマシンのリソースを使用して実行されます。
Web インターフェイスを備えたアプリの場合は、ローカル ネットワーク内のどこからでもそのインターフェイスにアクセスできます。たとえば、携帯電話でブラウザを開いてターゲット URL を入力し、そこからアプリとそのデータにアクセスすることもできます。アプリはマシン上でローカルにホストされているため、インターネットがダウンしている場合でも機能します。
ここでは、Docker を使用して、「Lidify」というアプリのコンテナを起動します。 Lidify の開発者は、パブリック GitHub リポジトリで Docker イメージを提供してくれました。これを使用して、マシン上で Lidify を実行できます。 Lidify で音楽コレクションが保存されているディレクトリを指定して実行します。そうすれば、ローカル ネットワークに接続されている任意のデバイスで Lidify にアクセスし、音楽をストリーミングできるようになります。
通常の Web サイトと同様に、世界中のどこにいてもセルフホスト型サービスにアクセスする方法がありますが、VPN トンネルを設定する必要があるため、少し複雑になります。私の目的では、ローカル ネットワーク上の Lidify は問題なく機能します。私の音楽コレクションはサーバー マシンに保存されるため、携帯電話とコンピュータの間でファイルを移動する手間がかかりません。
まず、マシンに Docker をインストールします。 Windows では、公式 Web サイトから Docker デスクトップ アプリをインストールできます。 Docker をインストールした後、コンピューターの再起動が必要になる場合があります。 Docker は macOS でも利用できます。
Docker アプリを 1 回起動して、バックグラウンドで実行される Docker エンジンを開始します。
これで、Lidify コンテナをスピンアップする準備が整いました。
ターミナル アプリを開きます。このコードを使用して Lidify サービスを開始します。 「C:UsersUsaRasdumped」パスは、すべての音楽ファイルを保存したフォルダーを指します。これを独自の音楽フォルダーへのパスに置き換える必要があります。最後の「:/music」部分も含め、残りはそのままにしておきます。
PowerShell で必要なため、このコマンドにはバッククォート「`」文字が含まれていますが、Linux または macOS を使用している場合は、バッククォート文字なしでコードを実行できます。
docker run -d `
--name lidify `
-p 3030:3030 `
-v "C:UsersUsaRasdumped:/music" `
-v lidify_data:/data `
chevron7locked/lidify:latest
すべてがうまくいけば、Lidify 用のコンテナが作成されます。 Docker デスクトップ アプリも再確認できます。 Lidify にアクセスするには、この URL を同じマシンのブラウザ ウィンドウに貼り付けるだけです。
http://localhost:3030/
他のデバイス上のセルフホスト アプリにアクセスしたい場合は、ホスト マシン (Docker コンテナを実行しているマシン) の IP アドレスを調べる必要があります。これを行うには、ターミナルを再度開き、次のコマンドを実行します。
ipconfig
出力にリストされている IPv4 アドレスを探します。ここで、同じ IP アドレスに続けてポート番号「:3030」を携帯電話に入力すると、携帯電話で Lidify アプリが起動します。
初めて Lidify をロードするときは、他のデバイスでもプロファイルにアクセスできるように、ユーザー名とパスワードを作成するように求められます。このアプリには広告は一切ありません。
Spotify に慣れている人なら、Lidify を使うとすぐに慣れるでしょう。最近再生したトラック、アルバム、アーティストを表示する同様のインターフェイスがあります。 Spotify と同様に、「Made for You」プレイリストも表示されます。これらの自動生成されたプレイリストは、音楽ファイルのムードと「雰囲気分析」に基づいています。プレーヤーの応答性は非常に高く、キーボード ショートカットで制御できます。
Spotify と同じように、気分、ジャンル、アーティストに基づいて厳選されたプレイリストを含む「参照」タブが表示されます。パラパラとめくって 30 秒のプレビューを聞くことができます。ポッドキャストの全編をオンラインで無料で聴くことができる「ポッドキャスト」タブもあります。
モバイル版は PWA で、驚くほどうまく機能します。
私の音楽コレクションは今のところかなり小さいですが、これから増やしていくつもりです。ライブラリが大きくなると、このアプリでより豊かなエクスペリエンスが提供されるはずです。さらに、Bandcamp のような場所から音楽を購入すると、Spotify のようなストリーミング サービスと比べてより多くの利益が得られるため、アーティストにとっては有利です。