ミュージックストリーミングサーバー(koel)をインストールします

スポンサーリンク

外出先から自分の音楽関連のファイルをいつでも聴けるようにします。自分で購入したmp3ファイルやCDにある音楽データを聴けるようになります。koelというオープンソースなツールをセットアップして実現します。koelはクライアント側がVueで、サーバー側がLaravelで記述された、Webベースのパーソナルオーディオ ストリーミングサービスです。

Home | Koel Documentation
The official documentation for Koel music streaming application

公式の説明書を参考にしてDockerを使用してインストールします。説明書の中にあるGithubのリンクをクリックすると詳しく説明されています。公式のDockerイメージも用意されています。

Docker Hub

それでは作業をしていきましょう。設置する環境はOSがUbuntu22.04になっております。まずはイメージを取得します。

docker pull phanan/koel

次に説明書を参考にkoelのコンテナを立ち上げます。koelはデータベースを必要としますが、このDockerコマンドにはデータベースは含まれていません。

docker run -d --name koel \
 -p 8888:80 \
 -v music:/music \
 -v covers:/var/www/html/public/img/covers \
 -v search_index:/var/www/html/storage/search-indexes \
phanan/koel

ファイヤーウォールが有効になっていたので開放します。

ufw allow 8888/tcp
ufw status

データベースは同じネットワーク内の別サーバーにあります。MySQL Community Serverが設置してあり、空のデータベースを作成しておきます。さらにそのユーザーが、外部接続して操作できる許可をしておきます。

データベースの準備ができたらkoelのコンテナに入って初期設定ができるコマンドを入力します。指定されたユーザーでコンテナに入ります。

docker exec --user www-data -it koel bash
php artisan koel:init --no-assets

データベース名やユーザー名、ポート番号などを設定したらブラウザでアクセスします。

http://ipアドレス:8888

次のメールアドレスとパスワードでログインします。

email: admin@koel.dev
password: KoelIsCool

セキュリティ向上のため、これらを変更する場合はコマンドを入力します。

docker exec -it <container_name_for_koel> php artisan koel:admin:change-password

なお、コマンド入力ではなくブラウザでログインして変更も可能でした。

せっかくなのでmp3ファイルをアップロードして動作確認します。

アップロードしたファイルは、ホスト側では次のディレクトリ配下に領域が確保されます。もちろんコンテナ内でも確認することができます。

/var/lib/docker/volumes/

cd /var/lib/docker/volumes/

koelのコンテナは一般的なwebポートしかサポートしていないので、SSLに対応したページを作成するにはリバースプロキシの導入を検討します。

タイトルとURLをコピーしました