快適!全部入りメディアサーバ自作のススメ。

スポンサーリンク
Post image

超低消費電力なARMマイコンLinuxサーバとして活用できるRaspberry Pi。

我が家では、既に販売終了している初代のRaspberry Pi 1 Model Aが現役で活躍中です。

そんな我が家の家庭内LAN上に張り巡らせた、超快適環境を提供してくれるサーバ群を紹介します。

というより、そろそろ整理しておかないと、壊れた時に困りそうな気がして、慌てて書き出したというのが正直なところ^^;

提供サービス一覧@Raspberry Pi

低消費電力を活かして、Raspberry Piには常時稼働が必要な、それでいて負荷が少ないサービスを割り当てるのが得策です。

OpenVPNは負荷が低いサービスに入るのか…?

一般的なマイコンより高性能とはいえ、さすがにx86 Core2/CoreiなどのCPUには劣るARM。目的が違うのでしょうがない。

そういうわけで、我が家では以下のサービスがRaspberry Piで稼働しています。ディストリは標準的なraspbian。

サーバサイド クライアントサイド
名称 価格 概要 名称 価格 概要
OpenVPN free 家庭内LANに安全にアクセス。 OpenVPN Connect free iOSアプリ。家庭内LANに安全にアクセス。
OpenVPN Connect free Androidアプリ。機能はiOSアプリと同様。
BIND9 free 家庭内LANの名前解決に。 - - -
rpwcweb free(original) サーバPCの電源スイッチをリモートでON/OFFできる。 ブラウザ free ChromeやFirefox。一応IEでも動作する。
Solar monitor free(original) DIY太陽光蓄電システムの状況を監視し、データを可視化(グラフ化)したり、呟いてくれる。 ブラウザ,
Twitter
free グラフ化したデータをブラウザで参照できる。Twitterで主要なイベントを参照できる。
Radiation monitor free(original) 放射線量を定点観測し、データを可視化(グラフ化)したり、呟いてくれる。 ブラウザ,Twitter free 休止中

OpenVPN

大量の写真や動画など、重いデータを抱えたサーバPCを外部ネットワークから隠すため、VPNを導入しています。

BIND9

でもって、家庭内LAN上のデバイスをIPで直接指定するのはイケてないので、BIND9も稼働しています。DHCPはルータにMAC毎の固定割り当て設定をしてお任せしています。

太陽光/放射線量モニタ etc.

上記以外は自作のサーバアプリ群で、VPN内部に隠したサーバPCの電源をブラウザ経由でONしたり、自作ソーラー発電蓄電システムの状態を監視したり、家の周辺の放射線量を定点観測したりしています。

メディアサーバPC提供サービス

VPNの後ろに隠したサーバPCでは以下のメディア関連サービスが稼働しています。

QNAPなどのNASを検討したこともありますが、ビデオカメラで撮影したMTS動画を標準的なMP4変換する処理など、結構重い処理をJenkinsが回すので、QNAP外にスレーブを用意するくらいならNASとビルドスレーブマシンは兼任させるのがベスト。

という判断で、PCサーバに落ち着いています。

ディストリは未だにUbuntu 14.04.5 LTS。そろそろdist-upgradeせねば…。

サーバサイド クライアントサイド
名称 価格 概要 名称 価格 概要
Jenkins free 説明が不要なくらい超有名なCIシステム。
デジカメ写真や動画を撮影日ディレクトリに振り分けたり、撮った動画をDLNA経由で配信できる形式に自動変換してくれる。
- - -
Bittorrent Sync free(機能制限あり) Dropboxのようなサービスを自前のPCサーバで実現できる。
無料で使用するには一部機能制限を受け入れる必要がある。
BitTorrent Sync free iOSアプリ。
撮った写真や動画を自前PCサーバと同期できる。無線LAN接続時のみ同期させて通信量を節約することも可能。
Resilio Sync free Androidアプリ。
アプリ名はiPhone版と多少異なるが、リリース元、機能共に同じっぽい。
mpd free ALSAデバイス用音楽Jukeboxサーバ。
ローカルに接続したALSAデバイス経由で、ローカルなスピーカから音楽再生が可能。
MPoD $3.99 (480円) iOSアプリ。
mpdをリモート操作できる。
MPDroid free Androidアプリ。
mpdをリモート操作できる。
Supersonic free Subsonicクローン。
WebベースのMusic Streamer。JukeboxやPodcast Receiver機能も備える。
AVSub $3.99 (480円) iOSアプリ。
Supersonicからのストリーミングを受けて音楽を再生できる。
UltraSonic free Androidアプリ。
Supersonicからのストリーミングを受けて音楽を再生できる。
PS3 media server free 動画や写真、音楽データをDLNAクライアントに配信できる。 色々 - DLNAクライアントアプリ、デバイス。(省略)

※:日本円価格は為替レートにより変動します。

Jenkins

PCサーバは少し凝ったことを自動化していて、udevでSDカードの挿抜をフックしてJenkinsにイベント飛ばすようにしています。

JenkinsはSDカードから写真や動画をローカルにコピー、撮影日時に応じてディレクトリツリーを生成、振り分けて整理してくれた後、写真はRAWデータごとAmazon Cloud Serviceと同期してバックアップします。

Bittorrent Sync

DropBoxのようなサービスを自前のPCサーバで提供することができます。

無料で使用するには、同期するファイルを子フォルダに配置できないという宣言はありますが、同期ファイルのサイズ制限や容量制限はない(自前のPCサーバ容量が許す限り)ので、Dropboxよりはある意味自由度があるのかなと。

iPhoneの写真や動画をサーバに飛ばし、Jenkinsさんに処理させて自動整理するようにしています。

mpd

ALSAに対応したサウンドデバイス経由で音楽再生を可能にするJukeboxサーバアプリケーションです。

クライアントアプリはiPhone、Androidの両方からリリースされているので、特に迷うことはないと思います。

Supersonic

手持ちの音楽ファイルを、3G/4G回線を経由したVPN回線でストリーミング配信することができます。

このためにPCサーバを稼働させ続けるのでは電力が勿体無いので、rpwcwebのような、外部から電源操作できるようなサービスがあると便利。

AndroidのSubsonicクライアントアプリは複数の選択肢がありましたが、無料アプリでSupersonicとの組み合わせで正常に音楽再生できたのはUltrasonicだけでした。他は「サーバアドレスが不正」などのエラーで再生できませんでした。Subsonicクローン対策がされているのかも…?

PS3 media server

名前から分かる通り、PlayStation3のDLNAクライアントに配信するためのDLNAサーバです。

でも実際は規格を満たしていれば何でも良いので、、DLNAクライアントはiPhoneだろうがTVだろうが再生可能です。

主に旅の思い出動画を家族で鑑賞する際に使用しています。

まとめ

カメラやビデオなど、記録を残すデバイスがデジタル化するにつれて、その記録したデータをどう手軽に参照するかが問題になると思います。

特に記録を残すデバイスが1つならまだいいんですが、複数個になると収集がつきませんよね。我が家の場合は夫婦それぞれが所有するデジカメとiPhone(各2台)、ビデオカメラが1台あるという状態です。

つまり、写真撮影可能な機材は4台、動画撮影可能な機材は5台あるわけですね。

メーカーもApple、Nikon、Sonyとバラバラなので、専用のアプリケーションソフトを個別にいれて管理しようものなら、破綻するのは明白。

というわけで、メディアサーバを1台用意し、Jenkinsという便利な自動化ツールを活用して、データを一元管理して快適なデジタルライフを送りましょう。

…ちょっとやりすぎな感じもしますが。

comments powered by Disqus