あいどる💖たいむ

あいどるやってます。

Libresonic on Docker

LibresonicのDockerイメージがあったので、これを使ってサーバを建てる。

https://hub.docker.com/r/linuxserver/libresonic/

環境

Ubuntu 16.04.1

Dockerコンテナ作成

linuxserver/libresonic(https://hub.docker.com/r/linuxserver/libresonic/) のUsageを参考にコンテナを作成する。

$ lib_home=$HOME/libresonic/

$ docker create \
    --name="libresonic" \
    -v $lib_home/config:/config \
    -v $lib_home/music:/music \
    -v $lib_home/playlists:/playlists \
    -v $lib_home/podcasts:/podcasts \
    -e TZ=Asia/Tokyo \
    -p 4040:4040 \
    linuxserver/libresonic

    # -v $lib_home/other media:/media \
    # -e PGID=<gid> -e PUID=<uid> \
    # -e CONTEXT_PATH=<url-base> \
    
$ docker start libresonic

サーバの起動確認

$ curl -L localhost:4040 | grep -i libresonic
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  4644  100  4644    0     0   340k      0 --:--:-- --:--:-- --:--:--  340k
<title>Libresonic</title>

タイトルが取得できてるのでOK。

nginxの設定

リクエストをlocalhost:4040にふるために、ホストのリバースプロキシの設定を行う。

server {
    listen       80;
    server_name  <** libresonic.your.server **>; # サーバ名

    location / {
        proxy_pass http://localhost:4040;
   
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

外部からアクセス

外部からアクセスし、Libresonicのトップページが表示されれば完了。

f:id:shiccocsan:20171005124956p:plain