Subsonic 便利ですね。さくらVPSではなくて、家のMacにいれて DynDNSでホスト名を当てて使ってます。
曲数が多くてもインポートの時間が全然かからないのがいいなと思いました。あとMacの場合パッケージでインストールが完了しますのでお手軽に試せます
アクセスログがとれない(ぽい) のでproxyかましてログを取る
Subsonicのプロセスはデフォルトで4040ポートでLISTENしますが、ここにリクエストを出してもアクセスログを吐いてくれません。(つーか java知らん)
なので無駄にnginxをリバースプロキシにしてログを吐かせています。server部分の設定は↓みたいな感じで
http { server { listen 80; server_name subsonic.<ドメイン> access_log /dev/stdout; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_redirect off; proxy_max_temp_file_size 0; location / { proxy_pass http://127.0.0.1:4040; break; } }
nginxの設定は適当にコピペしてきたものなので、これでいいのかどうか自信ないですが... とりあえず動いてます
X-Real-IP, X-Forwarded-For はいらんよね。ログはlaunchdに任せたいので /dev/stdout に出しています
Subsonicプロセスをlaunchd で常駐化
Subsonicを動かしているのがMac上なので、プロセス管理を launchd に任せています。launchd用の.plistは下記のような感じで
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>user.launchkeep.subsonic</string> <key>KeepAlive</key> <true/> <key>Program</key> <string>/Applications/Subsonic.app/Contents/MacOS/JavaApplicationStub</string> <key>StandardErrorPath</key> <string>/var/log/subsonic.error_log</string> <key>StandardOutPath</key> <string>/var/log/subsonic.log</string> </dict> </plist
(labelは他の名前空間とバッティングしなければ何でもいいと思います)
$ launchctl load ~/Library/LaunchAgents/user.launchkeep.subsonic.plist
で起動します。 "KeepAlive true"のオプションをつけているので、プロセスをkillしても自動でよみがえります。
iPhoneクライアント iSub Music Streamer も便利
iSub Music Streamer がなかなか便利です。一旦聴いた曲をローカルにキャッシュに持ってくれるのが良いです。アーティスト、アルバム、曲単位で明示的にもキャッシュ(というかダウンロード)できます。キャッシュ登録はキュー管理されているので たくさん登録しても大丈夫なようです。
3G回線でもちゃんと聴けます。ただ選曲のレスポンスが遅いので、頻繁に曲を変えようとするとモタつきます。
検索インデックス
検索インデックスが作成されていない場合、曲の検索ができません
Settings > Search で検索インデックスを作成するタイミングを設定できます。
インデックス作成後は3G回線で曲リストを表示する速度があがったような気がしますが、ほんとにそうなのかちょいと分かりません
デメリット
DRM付きの曲は聴けません。iPod併用で聴きましょう。iTunes Storeのヘビーユーザーだったりすると 聴けない曲が多くてがっかりするかもしれません。
テンプレートをいじってハックしましょう
以下のディレクトリにテンプレートが置いてあります。
/Library/Application\ Support/Subsonic/jetty/2169/webapp/WEB-INF/jsp
余計なiframe削ったりあれこれを削除/追加すると使いやすくなると思いますよ。広告も消せますが、寄付すれば消えるものらしいので、なんちゅうか ハック的に消すと心が痛みます。
その他
ご利用は計画的に。