Raspberry Pi 5で自宅サーバーを構築する完全ガイド|NAS・広告ブロック・IoTハブを1台に集約

目次

🔌 はじめに|古いPCで自宅サーバーを組んで電気代に驚いた話

mono-good.com管理人のmonogoodです。「自宅にサーバーを置いて、NASも広告ブロックもぜんぶ自前でやりたい」──そんな野望を抱いたことはありませんか? 俺もまさにそのクチで、3年ほど前からいろいろ試してきた結果、今はRaspberry Pi 5に落ち着いています。ただ、ここに至るまでにはけっこうな回り道と出費があったので、まずはその失敗談から正直に書いておこうと思います。

自宅サーバーに興味を持ったきっかけ

もともとのきっかけは、GoogleドライブやDropboxの月額料金でした。写真・動画のバックアップ用に2TBプランを契約していたんですが、Google Oneで月額1,300円、年間にすると15,000円以上。「このお金で自前のNASを組んだほうが長期的に得じゃないか?」と考えたのが始まりです。

さらに、YouTubeやWebサイトの広告を自宅ネットワークごとブロックできるPi-holeの存在を知って、「どうせサーバー置くなら広告ブロックもIoTの中継もぜんぶ1台に集約したい」と欲が出てきました。この”あれもこれも載せたい病”が、最初の失敗の原因だったわけですが。

Samsung 870 EVOは読み書き速度が最大560MB/sと安定しており、自宅サーバーのストレージとして信頼性の高い選択肢といえます。500GBモデルはNAS用途にも十分な容量で、コストパフォーマンスにも優れているため、気になる方はAmazonの最新価格をチェックしてみてください。

ミニPCサーバーの電気代と騒音という現実

最初に手を出したのは、Amazonで2万円台で買えるIntel N100搭載のミニPCでした。スペック的にはメモリ16GB・SSD 512GBで、Ubuntuを入れてDocker環境を構築。NAS(OpenMediaVault)、Pi-hole、Home Assistantを同時に動かしていました。

ミニPCサーバーで感じた問題点
  • 電気代が地味に痛い:アイドル時でも15〜25W。月の電気代はざっくり300〜500円程度。「たかが数百円」と思うかもしれませんが、年間だと4,000〜6,000円になる
  • ファンの音が気になる:リビングに置いていたら、深夜の静かな時間帯にファンの回転音がはっきり聞こえて、結局クローゼットの中に追いやることに
  • クローゼットに入れたら熱がこもる:排熱が追いつかず、夏場はCPU温度が80℃を超えてサーマルスロットリング(高温時に自動で性能を落とす機能)が頻発した

正直、月500円程度の電気代は許容範囲だと最初は思っていました。でも実際に1年間運用してみると、電気代+クラウドストレージ解約で浮いた分を差し引いても、思ったほどコスト的なメリットがない。それどころか、騒音と排熱の問題でストレスが増えたのが本音です。

Raspberry Pi 5に行き着いた理由

そこで目をつけたのが、2023年に発売されたRaspberry Pi 5でした。乗り換えを決めた理由はシンプルに3つあります。

比較項目ミニPC(N100)Raspberry Pi 5(8GB)
本体価格2〜3万円前後約13,000〜15,000円(技適対応品)
消費電力(アイドル時)15〜25W3〜5W
月間電気代目安300〜500円60〜100円
ファン騒音負荷時にはっきり聞こえる公式ファン付きでもほぼ無音
設置サイズ手のひら大(やや厚め)クレジットカード大

消費電力がミニPCの約1/5。年間の電気代差は3,000〜5,000円ほどで、2〜3年使えば本体価格の差もほぼ回収できる計算になります。ファンレス運用も可能なので、リビングに置いても一切気にならないのが決め手でした。

もちろん、Raspberry Pi 5にも弱点はあります。CPUパワーはN100の半分以下ですし、NVMe SSDを使うには別売りのHATが必要で追加コストもかかる。「動画のトランスコードもガンガンやりたい」「仮想マシンを何台も立てたい」という人には明らかにスペック不足です。ただ、NAS+Pi-hole+軽量IoTハブ程度の用途なら、俺の経験上まったく問題ありませんでした。

この記事では、そんなRaspberry Pi 5を使って自宅サーバーを構築する手順を、実際の設定画面や踏んだトラブルも含めて一通り解説していきます。

🍓 Raspberry Pi 5の基本スペックと自宅サーバー適性

前セクションで触れた「ミニPCの電気代問題」を経て、俺がたどり着いたのがRaspberry Pi 5だった。正直、最初は「シングルボードコンピュータで本当にサーバーが回るのか?」と半信半疑だったんだけど、スペックを調べれば調べるほど「これ、自宅用途なら十分すぎないか」と感じるようになった。ここではRaspberry Pi 5の基本スペックを整理しつつ、なぜ自宅サーバーに向いているのかを解説していく。

主要スペックの概要

まずはRaspberry Pi 5のスペックをざっと把握しておこう。Amazon実売で8GBモデルが1万2,000〜1万4,000円前後、4GBモデルなら9,000〜1万1,000円前後が相場になっている。ケースや電源を含めても2万円以内に収まるのが現実的なラインだ。

項目 Raspberry Pi 5
SoC Broadcom BCM2712(Arm Cortex-A76 クアッドコア 2.4GHz)
RAM 4GB / 8GB LPDDR4X-4267
GPU VideoCore VII(サーバー用途ではほぼ使わない)
ストレージ microSDカードスロット + M.2 HAT対応(PCIe 2.0 x1)
ネットワーク ギガビットイーサネット(実効900Mbps超)
USB USB 3.0 ×2 + USB 2.0 ×2
電源 USB-C(5V/5A推奨、27W PD対応電源)
消費電力 アイドル時 約2〜3W、軽負荷サーバー運用で約4〜6W
サイズ 85mm × 56mm(クレジットカードとほぼ同じ)

サーバー用途で特に注目すべきはギガビットイーサネットがフルスピードで出る点と、PCIe経由でM.2 SSDを接続できる点。microSDだけだとNAS用途では速度面で厳しいが、M.2 HATを使えばSSDからのブートも可能で、ストレージの不安は大幅に減る。ただしPCIe 2.0 x1なので理論値は5Gbps。NVMe SSDの性能をフルには引き出せない点は理解しておく必要がある。

Raspberry Pi 4との性能差

Pi 4を使って自宅サーバーを組んでいた人も多いと思う。俺自身、Pi 4の8GBモデルでDockerコンテナをいくつか動かしていた時期がある。結論から言うと、Pi 5はCPU性能で2〜3倍の差が体感できるレベルで変わった。

比較項目 Raspberry Pi 4 Model B Raspberry Pi 5
CPU Cortex-A72 4コア 1.8GHz Cortex-A76 4コア 2.4GHz
RAM帯域 LPDDR4-3200 LPDDR4X-4267
PCIe なし(USB経由のみ) PCIe 2.0 x1(M.2 HAT対応)
USB 3.0帯域 共有バスで実効300Mbps程度 専用バスで大幅改善
電源 USB-C 5V/3A USB-C 5V/5A(27W PD推奨)
RTC なし 内蔵(バッテリー別途)
電源ボタン なし あり

Pi 4時代に地味にストレスだったのが、USB 3.0の帯域が内部で共有されていて外付けSSDの速度が頭打ちになる問題。NASとして使おうとすると、大きめのファイルを転送している最中にDockerコンテナが重くなる…みたいな場面が何度かあった。Pi 5ではI/O周りのアーキテクチャが刷新されていて、この手のボトルネックがかなり解消されている。

一方で注意点もある。消費電力はPi 4より若干上がっているし、27W対応のUSB-C電源が推奨されているので、手持ちのスマホ充電器では電力不足になるケースがある。俺も最初に5V/3Aのアダプタで起動したら低電圧警告が出て、結局公式電源(約2,000〜2,500円前後)を買い直すハメになった。

自宅サーバーに向いている3つの理由

スペックだけ見ても「で、結局サーバーとしてどうなの?」という疑問が残ると思う。俺が実際に半年以上運用してみて感じた、Pi 5が自宅サーバーに向いている理由は以下の3つだ。

理由①:電気代が月50円以下で済む

前セクションでも触れたとおり、アイドル〜軽負荷で4〜6W程度。24時間365日稼働させても月の電気代は30〜50円程度(1kWhあたり30円計算)。ミニPCで月300〜500円かかっていたのが嘘みたいに安い。年間の差額だけで本体代が回収できるレベルだ。

理由②:ファンレス or 静音運用が可能

Pi 5にはアクティブクーラー(公式オプション、約800〜1,000円前後)が用意されているが、軽負荷サーバーならヒートシンクケースでファンレス運用も現実的。俺はArgon NEOケースにヒートシンクを追加して使っているが、真夏でもCPU温度60〜65℃で安定している。リビングや寝室に置いても騒音ゼロなのは地味にデカい。

理由③:Linuxエコシステムがそのまま使える

Raspberry Pi OSはDebianベースなので、Docker・Docker Compose・Samba・Tailscale・Pi-holeなど、自宅サーバーで定番のソフトウェアがほぼそのまま動く。ARM64対応のDockerイメージも年々増えていて、2〜3年前に比べると「ARM版がなくて詰む」場面はかなり減った印象がある。

⚠ こういう人にはPi 5サーバーは向かない
  • Plex等でハードウェアトランスコードをガンガン使いたい人 → VideoCore VIIはトランスコード非対応。4K素材を変換しようとするとCPUが張り付いて実用にならない
  • 10TB超のNASを組みたい人 → USB 3.0接続の外付けHDDは使えるが、RAID構成や大容量運用はSynologyやQNAPの専用NASに軍配が上がる
  • 仮想マシンを複数立てたい人 → RAM 8GB上限+4コアでは厳しい。VMを使いたいならミニPC(N100搭載機で2〜3万円台)のほうが幸せになれる

万能マシンではないので、自分の用途がPi 5の守備範囲に収まるかどうかを見極めてから購入するのが大事だ。次のセクションでは、実際にどんなサーバー機能をPi 5に載せていくのか、具体的な構成を紹介していく。

Raspberry Pi 5自宅サーバー構築に必要なパーツ一式(本体・電源・ケース・SSD・LANケーブル)

🛒 必要なパーツと初期費用|予算別プラン

Raspberry Pi 5のスペックが自宅サーバーに十分だとわかったところで、次に気になるのは「結局いくらかかるの?」という話。本体だけ買っても動かないのがラズパイの落とし穴で、電源・ケース・ストレージと細々したパーツが地味に必要になる。俺も最初「本体1万円ちょっとなら安いじゃん」と思って買い始めたら、気づけば3万円超えてて「あれ?」となった経験がある。そこで、目的別に2つのプランを整理してみた。

最小構成プラン(2万円台)

「とりあえずPi-holeで広告ブロックしたい」「軽いファイル共有ができればいい」くらいの用途なら、この構成で十分スタートできる。

パーツおすすめ品価格目安
本体Raspberry Pi 5(4GB RAM)約10,000〜11,000円
電源公式 27W USB-C電源アダプター約2,500円
ケース公式ケース or Argon NEO 5約1,500〜2,500円
ストレージmicroSD 64GB(SanDisk Extreme等)約1,200〜1,500円
LANケーブルCat6 1m程度約300〜500円
ヒートシンク公式アクティブクーラー約1,500円前後
合計約17,000〜19,000円

正直、4GBモデルでもPi-hole+軽量NAS程度ならメモリは余る。俺が最初に組んだのもこの構成で、半年くらいは不満なく運用できていた。ただし注意点がひとつ。microSDだけで運用すると、書き込み頻度が多いサービスを動かした場合にカードが壊れるリスクがある。実際、俺はNextcloudを入れて3ヶ月ほどでmicroSDが読み取り専用になってしまい、データを一部ロストした苦い経験がある。

Raspberry Pi 5で安定した自宅サーバーを運用するには、読み書き耐久性の高いmicroSDカードが欠かせません。SanDisk Extreme 64GBは連続稼働にも適したスペックで、多くのRaspberry Piユーザーに選ばれている定番モデルです。気になる方は、最新の価格やレビューをチェックしてみてください。

快適構成プラン(3万円台後半)

NASを本格運用したい、DockerでHomeAssistantも動かしたい——そんな「全部入り」を目指すなら8GBモデル+SSD構成が安心。

パーツおすすめ品価格目安
本体Raspberry Pi 5(8GB RAM)約13,000〜14,000円
電源公式 27W USB-C電源アダプター約2,500円
ケースArgon ONE V3 M.2(SSD内蔵可)約5,000〜6,000円
SSDNVMe M.2 256GB(Crucialなど)約3,500〜5,000円
HAT公式 M.2 HAT+(ケースに含まれない場合)約2,000円前後
LANケーブルCat6 1m程度約300〜500円
合計約26,000〜30,000円

8GBにする最大のメリットは、Dockerコンテナを複数立ち上げても余裕があること。Pi-hole+Nextcloud+Home Assistantを同時に動かすと、4GBだとスワップが発生してレスポンスが目に見えて落ちる場面があった。8GBならその心配がほぼなくなる。SSD運用にすることで、microSD時代に感じていた「もっさり感」も完全に解消された。体感で起動時間は半分以下になるし、ファイルの読み書きも段違いに速い。

Argon ONE V3 M.2 NVMEケースは、NVMe SSDの増設によりストレージ速度を大幅に向上させながら、静音ファン搭載で24時間稼働の自宅サーバー用途にも適したケースです。Raspberry Pi 5でNASやIoTハブを快適に運用したい方は、ぜひ詳細をチェックしてみてください。

ストレージ選びのポイント:microSDかSSDか

ここが一番迷うポイントだと思うので、比較をまとめておく。

項目microSDNVMe SSD
初期コスト◎ 約1,200〜1,500円△ SSD+HAT+で約5,000〜7,000円
読み書き速度△ シーケンシャル90MB/s前後◎ 800MB/s以上も可能
耐久性✕ 書き込み寿命が短い◎ TBW(総書き込み量)が桁違い
セットアップ◎ Raspberry Pi Imagerで即完了○ HAT+の取り付けとブート設定が必要
おすすめ用途お試し・軽量サービスのみ常時稼働・NAS・DB利用

結論から言うと、常時稼働の自宅サーバーならSSD一択。microSDは「とりあえず触ってみたい」段階では手軽でいいけれど、24時間稼働させるサーバー用途には向いていない。俺の周りでもmicroSD運用で半年〜1年以内にカードが壊れた報告をちょくちょく聞く。最初からSSDにしておけば、あとから移行する手間もデータロストのリスクも避けられる。

あると便利なオプションパーツ

  • USBメモリ・外付けHDD — NASのデータ領域を拡張したい場合に。USB 3.0対応の外付けHDD 2TBが7,000〜9,000円前後で手に入る
  • UPS(無停電電源装置) — 突然の停電でSDカードやSSDのデータが破損するのを防ぐ。Pi向けのUPS HATが3,000〜5,000円程度で売られている
  • USB-シリアル変換ケーブル — ネットワーク設定をミスってSSH接続できなくなったとき、シリアルコンソールから復旧できる。1,000円程度の保険として持っておくと安心
  • 予備のmicroSD — OSのバックアップイメージを書き込んでおけば、トラブル時に差し替えるだけで復旧できる。1枚500〜1,000円なので持っておいて損はない

ちなみに、モニターやキーボードは初期セットアップ時だけ必要で、一度SSHを設定してしまえば以降は不要。手元に余っているものがあればそれで十分なので、わざわざ買う必要はない。次のセクションでは、いよいよOSのインストールと初期設定に入っていく。

⚙️ OS導入と初期セットアップの手順

前のセクションでパーツを揃えたら、いよいよソフトウェア側の作業に入ります。「Linuxなんて触ったことない」という人も安心してほしい——Raspberry Pi OSのセットアップは、正直スマホの初期設定より簡単なレベルまで洗練されています。ただし、いくつか「知らないとハマるポイント」があるので、俺が実際につまずいた経験も交えながら順番に解説していきます。

Raspberry Pi Imagerでの書き込み

OSの書き込みには、Raspberry Pi公式の「Raspberry Pi Imager」を使います。Windows・Mac・Linuxどれでも動くので、普段使っているPCにインストールするだけ。無料ですからね。

STEP 1:Raspberry Pi Imagerをダウンロード

Raspberry Pi公式サイトからImagerをダウンロードしてインストール。容量は数十MB程度なので一瞬で終わります。

STEP 2:OSを選択する

Imagerを起動したら「デバイス」でRaspberry Pi 5を選択し、「OS」でRaspberry Pi OS Lite(64-bit)を選びます。サーバー用途ならデスクトップ環境は不要なので、必ず「Lite」を選ぶこと。GUIありの通常版を入れると、メモリもストレージも無駄に食われます。俺は最初これをやらかして、後から入れ直す羽目になりました。

STEP 3:詳細設定(ここが超重要)

「ストレージ」でmicroSDカードを選んだら、書き込む前に歯車アイコン(詳細設定)を必ずクリック。ここで以下を事前に設定できます。

  • ホスト名:好きな名前でOK(例:piserver)
  • SSHを有効化:「パスワード認証を使う」にチェック
  • ユーザー名とパスワード:デフォルトの「pi」以外を推奨。セキュリティ上、独自のユーザー名にしておくのが無難です
  • Wi-Fi設定:有線LAN接続なら不要。無線で使う場合はSSIDとパスワードを入力
  • ロケール:タイムゾーンを「Asia/Tokyo」、キーボードを「jp」に

この詳細設定を飛ばすと、初回起動後にSSH接続できなくてモニターとキーボードを引っ張り出すことになります。実際、俺も1回やりました。ヘッドレス(モニターなし)で運用するなら、ここで全部済ませるのが鉄則です。

STEP 4:書き込み実行

設定が終わったら「書き込む」をクリック。microSDの容量にもよりますが、だいたい5〜10分で完了します。書き込み後にベリファイ(検証)も自動で走るので、エラーが出なければそのままRaspberry Pi 5本体に挿してOK。

Raspberry Pi 5は推奨電力が27Wに引き上げられており、電力不足だと外付けSSDやUSBデバイスの動作が不安定になるケースも報告されています。安定稼働を最優先にしたい場合は、公式27W USB-Cアダプターの価格や在庫状況を確認してみてください。

初回起動とSSH接続の設定

microSDを挿して電源を入れたら、1〜2分ほど待ちます。初回はファイルシステムの拡張やら初期設定やらで少し時間がかかるので、焦って電源を抜かないこと。

💡 SSH接続の手順(Mac / Windowsターミナル共通)

ターミナルを開いて以下のコマンドを実行:

ssh ユーザー名@ホスト名.local

例:ssh monogood@piserver.local

初回は「本当に接続しますか?」と聞かれるのでyesと入力。Imagerで設定したパスワードを入れればログイン完了です。

ここでつまずく人が多いのが、「ホスト名.localで接続できない」パターン。これはmDNS(Bonjour)が使えない環境で起こります。その場合はルーターの管理画面にログインして、Raspberry Piに割り当てられたIPアドレスを直接確認し、ssh ユーザー名@192.168.x.xのように数値で指定すれば接続できます。

接続できたら、まずシステムを最新状態にアップデートしておきましょう。

sudo apt update && sudo apt upgrade -y

これが地味に時間がかかる(10〜20分くらい)ので、コーヒーでも淹れて待つのが吉。途中で接続が切れるとやり直しになるので、安定した回線で実行するのをおすすめします。

固定IPアドレスの割り当て方法

サーバーとして運用するなら、IPアドレスの固定は必須です。再起動するたびにIPが変わると、SSH接続もNASへのアクセスも毎回確認し直しになって地味にストレスがたまります。

固定IPの設定方法は2つあって、それぞれメリット・デメリットがあります。

方法 メリット デメリット おすすめ度
ルーター側でDHCP固定割り当て Pi側の設定不要。複数台の管理が楽 ルーターの機種によっては設定項目がない ★★★★★
Raspberry Pi側でNetworkManagerで設定 ルーターに依存しない。確実に固定できる 設定を間違えるとSSH接続不能になるリスクあり ★★★★☆

俺のおすすめはルーター側での固定割り当て。理由は単純で、Pi側の設定ファイルをいじる必要がないからミスが少ない。ルーターの管理画面(たいてい192.168.1.1か192.168.0.1)にアクセスして、DHCP設定からRaspberry PiのMACアドレスに対してIPを固定するだけです。

ただし、ルーター側に該当機能がない場合や、より確実に固定したい場合はPi側で設定します。Raspberry Pi OS(Bookworm以降)ではNetworkManagerが標準なので、以下のコマンドで設定できます。

📝 nmcliでの固定IP設定例

sudo nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,8.8.4.4"

sudo nmcli con up "Wired connection 1"

※ IPアドレス・ゲートウェイは自宅のネットワーク環境に合わせて変更してください。

ここで注意点が一つ。ゲートウェイのアドレスを間違えると、その瞬間からSSH接続が切れて復旧にモニターとキーボードが必要になります。俺はこれを一度やってしまい、押し入れからHDMIケーブルを引っ張り出す羽目になりました。設定前にip routeコマンドで現在のゲートウェイを確認しておくと安全です。

固定IPが設定できたら、再起動して問題なくSSH接続できることを確認しましょう。

sudo reboot

再起動後、設定した固定IPアドレスでSSH接続できれば初期セットアップは完了。ここまでの作業時間は、慣れていれば30分程度、初めてでも1時間あれば十分終わります。次のセクションからは、いよいよこのRaspberry Pi 5にNASや広告ブロックなどのサービスを載せていく段階に入ります。

OpenMediaVaultの管理画面を表示したノートPCとRaspberry Pi 5に接続した外付けHDDによるNAS構築の様子

💾 NAS構築編|OpenMediaVaultで家庭内ファイルサーバーを立てる

前セクションでRaspberry Pi OS Liteの導入とSSH接続まで終わったところで、いよいよ本題。「家中のファイルを1か所にまとめたい」「スマホで撮った写真をPCからもサッと見たい」——そんな悩み、クラウドストレージの月額課金で解決するのも手だけど、Google Oneの2TBプランで年間13,000円、iCloud+も同程度かかる。だったらRaspberry Pi 5+外付けストレージでNASを自前で建てたほうが、長い目で見ると圧倒的にコスパがいい。

俺が実際にOpenMediaVault(以下OMV)を導入して感じたのは、「思ったより簡単だけど、ハマるポイントが地味にある」ということ。特にストレージのマウント周りとSMB共有のアクセス権設定は、知らないと1〜2時間溶かす。このセクションでは、俺が実際につまずいた箇所も含めて手順を追っていく。

OpenMediaVaultのインストール

OMVはDebian系Linux向けのNAS用管理ツールで、WebブラウザからGUIで操作できるのが最大の魅力。Raspberry Pi OS Lite上にスクリプト一発で導入できる。

STEP1: システムを最新状態にする

SSH接続した状態で、まず以下を実行。

sudo apt update && sudo apt upgrade -y

これを飛ばすとOMVのインストールスクリプトが途中でコケることがある。俺は最初これをサボって30分無駄にした。

STEP2: OMVインストールスクリプトを実行

公式が配布しているインストールスクリプトを使う。

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

Raspberry Pi 5だとインストール完了まで15〜25分程度。途中で自動的に再起動がかかるので、SSH接続が切れても焦らなくて大丈夫。

STEP3: Web管理画面にアクセス

再起動後、ブラウザから http://[Raspberry PiのIPアドレス] にアクセス。初期ログインは以下の通り。

  • ユーザー名:admin
  • パスワード:openmediavault

ログイン後、必ず管理者パスワードを変更すること。これを放置すると、LAN内の誰でもNASの設定をいじれる状態になる。

外付けストレージのマウントと共有フォルダ作成

NASの肝はストレージ。Raspberry Pi 5はUSB 3.0ポートを2基搭載しているので、外付けSSDやHDDを直接つなげる。ストレージ選びの目安はこんな感じ。

ストレージ種別容量目安価格帯向いている用途
外付けSSD(USB 3.0)1〜2TB8,000〜18,000円前後写真・動画の高速アクセス、常時稼働
外付けHDD(USB 3.0)2〜4TB8,000〜14,000円前後大容量バックアップ、コスト重視
USBメモリ64〜256GB1,000〜3,000円前後お試し・一時的な共有(非推奨)

正直に言うと、USBメモリでNAS運用するのはやめたほうがいい。書き込み耐久性が低いし、速度も安定しない。俺は最初「とりあえず手元にあった64GBのUSBメモリで試すか」と思って始めたけど、数日でランダムリードが遅すぎてストレスになった。最低でも外付けSSDを用意するのがおすすめ。

OMVのWeb管理画面での手順は以下の通り。

STEP1: ストレージをUSBポートに接続

Raspberry Pi 5の青いUSB 3.0ポートに挿す。黒いUSB 2.0ポートだと転送速度が大幅に落ちるので注意。

STEP2: ディスクをフォーマット

OMV管理画面 →「ストレージ」→「ディスク」で接続したドライブを確認。次に「ファイルシステム」へ移動し、「作成」からEXT4でフォーマットする。NTFSやexFATも選べるが、Linux環境ではEXT4が最も安定する。

STEP3: ファイルシステムをマウント

フォーマット完了後、同じ画面で作成したファイルシステムを選択し「マウント」をクリック。これを忘れると共有フォルダが作れない。ここが地味にハマりポイントで、フォーマットしただけで満足してしまう人が多い。

STEP4: 共有フォルダを作成

「ストレージ」→「共有フォルダ」→「作成」で、フォルダ名とパスを指定。用途別に「Photos」「Documents」「Backup」などと分けておくと後々管理しやすい。アクセス権限もここで設定できる。

WindowsとMacからアクセスする方法

OMVでファイル共有するプロトコルはSMB/CIFS(Windowsのファイル共有と同じ仕組み)が最も汎用性が高い。Windows・Mac・Linux・スマホ、どこからでもアクセスできる。

STEP1: SMBサービスを有効化

OMV管理画面 →「サービス」→「SMB/CIFS」→「設定」タブで「有効」にチェックを入れて保存。続けて「共有」タブで先ほど作った共有フォルダを追加する。

STEP2: OMVユーザーを作成

「ユーザー管理」→「ユーザー」で新規ユーザーを追加し、共有フォルダへのアクセス権を付与。家族で使うなら人数分のアカウントを作っておくと、誰が何を操作したか追えるので便利。

STEP3: PCから接続

Windowsの場合:エクスプローラーのアドレスバーに \\[Raspberry PiのIPアドレス] を入力。ユーザー名とパスワードを求められるので、STEP2で作成した情報を入力。

Macの場合:Finderメニューの「移動」→「サーバへ接続」で smb://[Raspberry PiのIPアドレス] を入力。

一度接続したら、ネットワークドライブとして割り当て(Windows)やお気に入り登録(Mac)しておくと次回からワンクリックでアクセスできる。

ここで俺がハマった失敗談。SMB共有を有効にしたのにWindowsからアクセスできない現象が起きた。原因は、OMVでユーザーを作った後に「適用」ボタンを押し忘れていたこと。OMVは設定変更後に画面上部に黄色い「適用」バナーが表示されるんだけど、これを見逃すと設定が反映されない。何か変更したら必ず「適用」を押す——これだけ覚えておけば無駄なトラブルシューティングを避けられる。

バックアップ運用のコツ

NASを構築して満足しがちだけど、バックアップ運用を考えないと「NASのストレージが壊れて全データ消失」という最悪のシナリオがあり得る。実際、外付けHDDの故障率は使用開始3年目あたりから上がるといわれている。俺の場合、以前2TBの外付けHDDが前触れなく認識しなくなった経験があるので、バックアップだけは真剣にやっている。

  • 3-2-1ルールを意識する:大事なデータは「3つのコピー」を「2種類の媒体」に保存し、「1つは物理的に別の場所」に置く。NAS+PC本体+クラウドの3点セットが現実的。
  • rsyncで定期バックアップ:OMVにはrsyncプラグインがあり、外付けストレージを2台つないで片方をバックアップ先にできる。cronで毎日深夜に自動実行すれば、手間ゼロで差分バックアップが走る。
  • クラウドとの併用:rcloneを使えば、NASのデータをGoogle DriveやBackblaze B2(月額約0.7円/GB)に自動同期できる。全データをクラウドに上げると費用がかさむので、本当に失いたくないデータだけに絞るのがコツ。
  • S.M.A.R.T.監視を有効にする:OMVの「ディスク」→「S.M.A.R.T.」で監視を有効にしておくと、ストレージの健康状態をチェックできる。異常が出始めたら壊れる前に交換できるので、これは絶対にオンにしておくべき。

こういう人には向く / 向かない

OMVによるNAS構築が向いているのは、「クラウドの月額課金を減らしたい」「家族間でファイルを手軽に共有したい」「自分でサーバーをいじる過程も楽しめる」という人。一方で、4TB以上の大容量をRAID構成で安定運用したいなら、Synology DS224+(3万円台後半〜)やQNAP TS-233(3万円前後〜)といった専用NASを素直に買ったほうが、管理コストが圧倒的に低い。Raspberry Pi NASはあくまで「1〜2TBの軽量ファイルサーバーを安く・楽しく運用したい人」向けのソリューションだと、実際に使ってみて強く感じた。

🛡️ 広告ブロック編|Pi-holeでネットワーク全体の広告を消す

前セクションでNASを構築したRaspberry Pi 5、実はまだまだ余力がある。次にやるべきは「ネットワーク全体の広告ブロック」だと俺は断言したい。スマホのブラウザに出てくるウザい全画面広告、YouTubeアプリの動画広告、子どものタブレットに表示される怪しいバナー──これ、全部まとめて消せるとしたらどうだろう。Pi-holeを導入すれば、自宅Wi-Fiにつながっている端末すべてで広告が表示されなくなる。PCにアドブロッカーを入れるのとは次元が違う話だ。

しかも体感でわかるレベルでページ表示が速くなる。広告の読み込みが丸ごとカットされるので、特にスマホのニュースサイトなんかは目に見えて軽くなった。NASと同居させても、Pi-holeが使うリソースはごくわずか。Raspberry Pi 5の8GBモデルなら余裕すぎるし、4GBモデルでもまったく問題ない。

Pi-holeとは何か:DNSレベルのブロックの仕組み

Pi-holeを理解するにはまず「DNS」の仕組みを押さえておく必要がある。DNS(Domain Name System)とは、「google.com」のようなドメイン名をIPアドレスに変換する仕組みのこと。ブラウザでサイトを開くたびに、裏側ではこのDNS問い合わせが走っている。

Pi-holeはこのDNS問い合わせの段階で広告配信サーバーへのアクセスをブロックする。つまり広告のデータがそもそもダウンロードされない。ブラウザの拡張機能型アドブロッカーとの違いを整理するとこうなる。

比較項目Pi-hole(DNSブロック)ブラウザ拡張型(uBlock Origin等)
対象範囲ネットワーク内の全端末インストールしたブラウザのみ
スマホアプリ内広告ブロック可能対象外
スマートTV・IoT機器ブロック可能対象外
ページ内の要素非表示空白が残る場合あり要素ごと非表示にできる
導入の手間サーバー構築+ルーター設定拡張機能を入れるだけ
コスト無料(Pi-hole本体は0円)無料

ポイントは「ページ内の要素非表示」の行。Pi-holeはDNSレベルでブロックするので、広告があった場所に空白スペースが残ることがある。完璧に消したいなら、PCではPi-hole+uBlock Originの併用が最強の組み合わせだと俺は感じている。Pi-holeで大半を叩き落として、すり抜けたものをブラウザ側で処理するイメージだ。

インストールとルーター側の設定

Pi-holeのインストール自体は驚くほど簡単。SSHでRaspberry Piに接続して、公式のワンライナーコマンドを実行するだけで完了する。

STEP 1:Pi-holeをインストール

SSHでRaspberry Pi 5に接続し、以下のコマンドを実行する。

curl -sSL https://install.pi-hole.net | bash

対話式のインストーラーが起動するので、基本的にはデフォルト設定のまま進めてOK。上流DNSサーバーはGoogleの「8.8.8.8」やCloudflareの「1.1.1.1」を選べる。俺は速度重視でCloudflareを選んでいる。インストール完了時に表示される管理画面のパスワードは必ずメモしておくこと。

STEP 2:Raspberry Piの固定IPアドレスを確認

NAS構築編で固定IPを設定済みなら、そのアドレスをそのまま使う。まだの場合はip aで現在のIPを確認し、ルーター側のDHCP設定でMACアドレスに対してIPを固定しておく。DNSサーバーのIPがコロコロ変わると、家中のネットが止まる悲惨な事態になるので、ここは絶対に手を抜かないでほしい。

STEP 3:ルーターのDNS設定を変更

ここが最大の山場。ルーターの管理画面(多くは192.168.1.1や192.168.0.1)にログインし、DHCP設定の中にある「DNSサーバー」の項目をRaspberry PiのIPアドレスに変更する。たとえばPiのIPが192.168.1.100なら、プライマリDNSに「192.168.1.100」を入力。セカンダリDNSは空欄にするか、同じアドレスを入れる。

ここでやりがちな失敗が一つある。セカンダリDNSにGoogleの8.8.8.8を入れてしまうケース。これをやると端末がPi-holeを迂回してGoogleのDNSに直接問い合わせることがあり、広告ブロックがスカスカになる。俺も最初これで「全然ブロックされないじゃん」と1時間悩んだ。

STEP 4:動作確認

設定後、各端末のWi-Fiを一度オフ→オンにしてDHCPリースを更新する。ブラウザでhttp://[PiのIP]/adminにアクセスすると、Pi-holeの管理ダッシュボードが開く。クエリ数やブロック率がリアルタイムで表示されるので、数字が動いていれば成功だ。導入直後でだいたいDNSクエリの15〜30%がブロックされる印象がある。

なお、ルーターによってはDNS設定が変更できない機種もある。NTTのホームゲートウェイ(HGW)やJ:COMのレンタルルーターなどが該当しやすい。その場合は各端末のネットワーク設定でDNSサーバーを手動指定するか、ルーターをブリッジモードにして市販ルーターを追加する方法がある。正直この対応は面倒なので、もしルーターを買い替える予定があるならTP-LinkやASUSなどDNS設定が自由にできるモデルを選ぶのがおすすめだ。3,000〜8,000円台のモデルでも問題なく対応している。

ブロックリストのカスタマイズ

Pi-holeはデフォルトのブロックリストだけでもそこそこ効くが、カスタマイズすることで精度が格段に上がる。管理画面の「Adlists」から外部のブロックリストURLを追加できる仕組みだ。

俺が実際に使っているリスト構成はこんな感じ。

  • Steven Black’s Unified Hosts:定番中の定番。広告+マルウェアを網羅的にカバーしていて、誤検知も少ない
  • OISD(oisd.nl):複数のリストを統合した大規模リスト。これ一つでかなりの範囲をカバーできる
  • 日本語サイト向けリスト:280blockerなど、日本のサイトに特化したリストを追加すると国内サイトの広告ブロック率が大幅に改善する

リストを追加したら管理画面の「Tools」→「Update Gravity」でリストを更新する。この操作でブロック対象ドメインが数万〜数十万件に増えるので、ブロック率が一気に跳ね上がる。

⚠️ ブロックしすぎて困った実体験

リストを欲張って入れすぎると、今度は正常なサイトまで表示できなくなることがある。俺の場合、某ネットバンキングのログインページが開かなくなって焦った経験がある。原因はCDN(コンテンツ配信ネットワーク)のドメインが誤ってブロックリストに含まれていたこと。

こういう時はPi-holeの管理画面「Query Log」で直近のブロック履歴を確認し、該当ドメインをホワイトリストに追加すれば即座に解決する。家族から「ネットつながらないんだけど」と言われたら、まずQuery Logを確認する──これがPi-hole運用の鉄則だ。

正直なところ、Pi-holeにも限界はある。YouTubeの動画内広告は広告とコンテンツが同じドメインから配信されるケースが多く、DNSレベルでは完全にブロックできない。また、最近はDNS over HTTPS(DoH)を使うアプリが増えていて、Pi-holeを迂回されることもある。万能ではないという点は理解しておくべきだろう。

それでも、導入コスト0円(Pi-hole自体は無料ソフト)で家中の広告が激減するのは圧倒的なコスパだ。ページ読み込みの体感速度も上がるし、子どもが使うタブレットに怪しい広告が表示されなくなる安心感は想像以上に大きい。NAS編でセットアップしたRaspberry Pi 5がそのまま使えるので、追加投資なしで始められるのも嬉しいポイントだ。次のセクションでは、さらにIoTハブとしての活用法を紹介していく。

🏠 IoTハブ編|Home Assistantでスマートホームを一元管理

前セクションではPi-holeで広告をネットワークごとブロックする方法を紹介したけど、Raspberry Pi 5のポテンシャルはまだまだこんなもんじゃない。次にやるべきは「スマートホームの司令塔」を立てること。SwitchBotのアプリ、Nature Remoのアプリ、照明のアプリ……と、スマホにスマートホーム系のアプリが5個も6個も並んでる経験はないだろうか。俺はまさにそれで、エアコンつけるのにどのアプリだっけ?と毎回迷う始末だった。

そこで導入したのがHome Assistant。オープンソースのスマートホーム統合プラットフォームで、異なるメーカーのデバイスを1つの画面から操作・自動化できる。Raspberry Pi 5のスペックならDockerコンテナでサクサク動くし、Pi-holeと同居させても問題なかった。正直、これを入れてからスマートホーム系アプリをほぼ開かなくなった。

Home Assistantのインストール方法

Home Assistantには複数のインストール方法があるけど、Pi-holeなど他サービスと共存させるならDocker(コンテナ版)一択。Home Assistant OS(HAOS)だとOS丸ごと占有されてしまうので、NASやPi-holeとの同居ができなくなる。

STEP1:Docker Composeファイルを作成

docker-compose.yml に以下のサービスを追加する。ポートは8123がデフォルト。network_mode: hostを指定するとデバイスの自動検出(mDNS)が効くので、最初はhost modeで始めるのがおすすめ。

STEP2:コンテナを起動

docker compose up -d で起動。初回は数分かかる。Raspberry Pi 5のCPU(Cortex-A76)なら初期セットアップも体感2〜3分で完了した。旧モデルのPi 4だと5分以上かかっていたので、ここは確実に差がある。

STEP3:ブラウザで初期設定

http://[RasPiのIPアドレス]:8123 にアクセスし、管理者アカウントを作成。自宅の位置情報・タイムゾーンを設定すれば、日の出・日の入りに連動した自動化が使えるようになる。

⚠️ 注意点:コンテナ版はHome Assistant OS版と比べて「アドオン」機能が使えない。アドオンで提供されるファイルエディタやSSHターミナルなどは自分で別途用意する必要がある。俺は最初これを知らずに「アドオンストアどこ?」と30分くらい探し回った。ただ、逆に言えばDockerに慣れている人なら必要なものを自分でコンテナとして追加すればいいだけなので、柔軟性はむしろ高い。

SwitchBotやNature Remoとの連携手順

Home Assistantの強みは対応デバイスの多さで、公式の統合(Integration)は2,000以上ある。ただ、国内ユーザーが実際によく使うのは限られているので、定番どころを表にまとめた。

デバイス/サービス 連携方法 価格帯(目安) 俺の体感評価
SwitchBot Hub 2 SwitchBot統合(公式対応) 5,000〜8,000円前後 ◎ 温湿度・赤外線もまとめて取れて便利
Nature Remo Nature Remo統合 or APIカスタム 4,000〜7,000円前後 ○ エアコン操作はこっちの方が安定してた
TP-Link Tapoシリーズ TP-Link Smart Home統合 スマートプラグ1,500円前後〜 ◎ 安くて種類豊富。消費電力も取れる
Philips Hue Hue統合(Zigbee経由) ブリッジ+電球で8,000円前後〜 ○ 安定感は抜群だが価格がネック
Xiaomi / Aqara Xiaomi Miot統合 / MQTT 温湿度センサー1,000〜2,000円 ◎ コスパ最強。センサー系はこれで十分

SwitchBotの連携手順は、Home Assistantの「設定」→「デバイスとサービス」→「統合を追加」からSwitchBotを検索し、SwitchBotアプリで取得できるトークンとシークレットキーを入力するだけ。ハブ配下のデバイス(カーテン、ボット、温湿度計など)が自動で認識される。

Nature RemoはOAuth連携で、アクセストークンをNature公式のデベロッパーページから発行する。少し手間だけど、一度設定すればエアコン・テレビ・照明の赤外線操作がHome Assistantから直接できるようになる。俺の環境ではNature Remoのエアコン操作が一番レスポンスが良く、体感1秒以内で反応してくれた。

正直なデメリット:SwitchBotもNature Remoも、クラウド経由の連携になるのでインターネットが落ちると操作できなくなる。ローカル完結にこだわるなら、ZigbeeドングルUSBスティック(Amazonで3,000〜4,000円前後)を買ってZigbee対応デバイスを直接つなぐ方法もある。ただ、対応デバイスの選定や設定の手間が一気に増えるので、最初はクラウド連携で始めて不満が出てから移行するのが現実的だと思う。

Nature Remo mini 2はエアコンや照明のリモコンをスマホに集約でき、Raspberry Piとの連携で自宅IoTの幅がさらに広がります。スマートホーム化の第一歩として、詳細をチェックしてみてください。

自動化ルールの作成例

Home Assistantの真価は「自動化(Automation)」にある。GUIで条件と動作を組み合わせるだけで、かなり実用的なルールが作れる。俺が実際に使っている自動化を3つ紹介する。

① 帰宅したらエアコン自動ON
トリガー:スマホがWi-Fiに接続(デバイストラッカー)
条件:室温が28℃以上 or 15℃以下(SwitchBot温湿度計の値を参照)
動作:Nature Remo経由でエアコンON
→ 夏場にこれを入れてからQOLが爆上がりした。帰宅して玄関開けた瞬間にもう涼しいのは感動する。

② 深夜に照明の消し忘れを自動OFF
トリガー:毎日AM1:00
条件:リビング照明がON状態
動作:照明OFF + スマホに通知
→ 寝落ちして照明つけっぱなしが月3〜4回あった俺にはかなり助かっている。電気代もじわじわ効いてくる。

③ 湿度が高すぎたら除湿器ON
トリガー:湿度センサーが70%を超えた
条件:除湿器がOFF状態
動作:スマートプラグ経由で除湿器ON + 60%を下回ったらOFF
→ 梅雨時期にカビ対策として設定。手動だと忘れがちな除湿器の管理が完全に自動化された。

自動化ルールはGUIの「設定」→「オートメーション」から作れるし、YAMLで直接書くこともできる。最初はGUIで感覚をつかんで、複雑なことをやりたくなったらYAMLに移行するのがスムーズだった。

こういう人には向かない:正直、Home Assistantは初期設定にそれなりの時間がかかる。「アプリ入れたら即使える」を期待する人にはSwitchBotやNature Remoの純正アプリだけで十分。Home Assistantが活きるのは、異なるメーカーのデバイスを3つ以上使っていて「全部まとめたい」「自動化を自分で細かく組みたい」という人。俺のように沼にハマると週末が設定で消えていくので、そこだけは覚悟しておいたほうがいい。

SwitchBot ハブミニはMatter対応により、Raspberry Piと組み合わせることで既存の赤外線家電もスマートホームに統合できます。手持ちのエアコンや照明をそのまま活かせるので、気になる方は公式ページで対応機器を確認してみてください。

SwitchBot ハブミニ(Matter対応)

🐳 Dockerで複数サービスを同居させるコツ

前セクションまでで、NAS(Samba/OpenMediaVault)、Pi-hole、Home Assistantと3つのサービスをRaspberry Pi 5に載せてきた。ここまで読んで「これ全部同時に動かして大丈夫なの?」と不安になった人、正直その感覚は正しい。実際、俺も最初は何も考えずにコンテナを立ち上げまくって、メモリ不足でHome Assistantが落ちるという地獄を経験している。

Raspberry Pi 5はRAM 8GBモデル(Amazon実売で約1.2〜1.5万円)を選んでいる前提だけど、8GBあっても「何も制限しない」とあっという間にカツカツになる。4GBモデルだと正直この3サービス同居はかなり厳しいので、これからPi 5を買う人は絶対に8GB版を選んでほしい。

このセクションでは、Docker Composeでの構成管理・リソース制限・サービス競合の対処法を、俺が実際にハマったポイントとセットで共有していく。

Docker Composeによるサービス管理

複数サービスを1台のPi 5で運用するなら、Docker Composeで1つのdocker-compose.ymlにまとめるのが鉄板。サービスごとに別々のdocker-compose.ymlを作る方法もあるけど、俺の経験上、ネットワークやボリュームの管理が煩雑になってトラブルのもとになる。

俺が使っているディレクトリ構成
/home/pi/docker/
├── docker-compose.yml    ← 全サービスを1ファイルで管理
├── .env                  ← パスワード・TZ等の環境変数
├── pihole/
│   └── etc-pihole/       ← Pi-hole設定の永続化
├── homeassistant/
│   └── config/           ← HA設定の永続化
├── samba/
│   └── share/            ← 共有フォルダのマウントポイント
└── portainer/
    └── data/             ← Portainerのデータ

ポイントは、各サービスの永続データをbind mountでホスト側のディレクトリに出しておくこと。Docker volumeでもいいけど、bind mountのほうがバックアップ時にrsynctarでまるごとコピーしやすい。Pi 5が壊れたときにSDカードを差し替えてディレクトリ構成を戻せば復旧できるので、この構成は保険として優秀だと感じている。

あと、管理UIとしてPortainer CE(無料)を入れておくのを強く推奨する。コンテナのログ確認・再起動・リソース状況の確認がブラウザからできるようになるので、SSH接続してdocker logsを叩く手間が激減する。俺はスマホからPortainerにアクセスして外出先からコンテナの状態を確認することもある。

docker-compose.yml の構成例(抜粋)
version: "3.8"
services:
  pihole:
    image: pihole/pihole:latest
    container_name: pihole
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "8080:80/tcp"
    volumes:
      - ./pihole/etc-pihole:/etc/pihole
    environment:
      TZ: Asia/Tokyo
      WEBPASSWORD: ${PIHOLE_PASSWORD}
    restart: unless-stopped
    deploy:
      resources:
        limits:
          memory: 256m

  homeassistant:
    image: ghcr.io/home-assistant/home-assistant:stable
    container_name: homeassistant
    network_mode: host
    volumes:
      - ./homeassistant/config:/config
    environment:
      TZ: Asia/Tokyo
    restart: unless-stopped
    privileged: true
    deploy:
      resources:
        limits:
          memory: 1g

  samba:
    image: dperson/samba
    container_name: samba
    ports:
      - "445:445"
    volumes:
      - /mnt/usbhdd:/share
    restart: unless-stopped
    deploy:
      resources:
        limits:
          memory: 256m

  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./portainer/data:/data
    restart: unless-stopped
    deploy:
      resources:
        limits:
          memory: 128m

注意点として、Home Assistantはnetwork_mode: hostで動かしている。これはBluetoothやmDNSなどホストネットワークに直接アクセスする必要があるため。逆にPi-holeはポートマッピングで8080:80にしているのは、Home Assistantがホストの80番ポートを使う可能性があるからという理由になる。

リソース制限とメモリ節約テクニック

ここが一番大事なパートかもしれない。Raspberry Pi 5の8GBは、PCの感覚だと「余裕でしょ」と思うかもしれないけど、OS自体が500MB〜1GB程度使うし、Dockerデーモンのオーバーヘッドもある。実質使えるのは6GB前後と考えておいたほうがいい。

サービス 推奨メモリ上限 実測での平常時使用量 備考
Pi-hole 256MB 80〜120MB 軽量。ほぼ問題なし
Home Assistant 1GB 400〜700MB アドオン数で大きく変動
Samba(NAS) 256MB 50〜100MB 大量ファイル転送時に一時的に増加
Portainer 128MB 40〜70MB 管理UI。常駐でも軽い
合計目安 約1.6GB 約600MB〜1GB OS分を含めると全体3GB前後

上のdeploy.resources.limits.memoryで制限をかけるのが重要。これを設定しないと、Home Assistantが調子に乗ってメモリを食い尽くし、OOM Killer(メモリ不足時にプロセスを強制終了するLinuxの仕組み)が走って別のコンテナが巻き添えで落ちるという最悪の展開になる。俺は実際にこれでPi-holeが落ちて、家中のDNSが止まり、家族から「Wi-Fi壊れた」とクレームが来た経験がある。

メモリ節約で効果が大きかった施策
  • swapを2GB確保する/etc/dphys-swapfileCONF_SWAPSIZE=2048に設定。SDカードの寿命が心配ならUSB SSDにswapを置く
  • Home Assistantのアドオンを絞る:使わないアドオンは停止ではなく削除。停止状態でもイメージが残ってディスクを圧迫する
  • Dockerのログドライバーをjson-file+サイズ制限に"log-opts": {"max-size": "10m", "max-file": "3"}をデーモン設定に追加。放置するとログだけで数GBになることがある
  • 不要なDockerイメージの定期削除docker image prune -aを月1回実行。古いイメージが溜まるとストレージを圧迫する

特にswapの設定は最初に絶対やっておくべき。メモリが足りなくなった瞬間にOOM Killerが発動するか、swapに逃がして耐えるかの違いはめちゃくちゃ大きい。ただし、SDカードにswapを置くと書き込み寿命が縮むので、外付けSSD(3,000〜5,000円程度のもので十分)を起動ドライブ兼swapにするのが理想的な構成だと感じている。

サービスが競合したときの対処法

複数サービスを同居させると、ほぼ確実にぶつかるのがポート競合DNS周りのトラブル。俺がハマった具体例と対処法をまとめておく。

ポート53の競合(最頻出)

Ubuntu系のOSではsystemd-resolvedがデフォルトでポート53を使っている。Pi-holeもポート53を使うので確実に衝突する。対処法はsystemd-resolvedを無効化すること。

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved

その後、/etc/resolv.confを手動で設定する。Raspberry Pi OSの場合はこの問題が起きにくいけど、Ubuntu Serverを入れている場合は要注意。

ポート80/443の競合

Home Assistantをnetwork_mode: hostで動かすと、ホスト側の8123番ポートを使う。ここは問題ないけど、Pi-holeの管理画面がデフォルトで80番を使うので、上の構成例のように8080:80でずらしておく。Nginxなどのリバースプロキシを入れるならそちらが80/443を占有するので、各サービスは全部別ポートに逃がす設計にする。

DNSループに注意

Pi-holeをDNSサーバーにしている状態で、Docker内の他コンテナがDNS解決にPi-holeを参照し、Pi-hole自体がダウンすると全コンテナのネットワークが死ぬ——という連鎖障害が起きる。俺はこれで一度、Home Assistantのアップデートが途中で止まって設定ファイルが壊れかけた。対処法として、docker-compose.yml内で各サービスにdns: 8.8.8.8をフォールバックとして指定しておくのが安全。

こういう人にはDocker同居は向かない
  • Linuxのコマンド操作に抵抗がある人:トラブル時にSSHでログを見たり設定ファイルを編集する場面が必ず出てくる
  • 24時間365日の安定稼働を求める人:Pi 5はあくまでシングルボードコンピュータ。商用NAS(Synology DS224+で4万円台〜)のほうが安定性・サポート面で圧倒的に上
  • RAM 4GBモデルを買ってしまった人:Pi-hole単体なら問題ないけど、3サービス同居はメモリ的にかなり無理がある

逆に、「Linux触るの苦じゃない」「多少のトラブルも勉強のうち」と思える人にとっては、Pi 5の1台集約構成は電気代月100〜150円程度で維持できるコスパ最強のホームサーバーになる。俺自身、もう1年以上この構成で運用しているけど、上で挙げたような初期のハマりポイントを超えてからは安定して動いている。次のセクションでは、この環境を安全に外部からアクセスする方法について解説していく。

Raspberry Pi 5自宅サーバーのSSHセキュリティ設定をターミナルで行っている画面

Raspberry Pi 5(8GB)があれば、NAS・広告ブロック・IoTハブをこの1台に集約できます。自宅サーバー構築を検討している方は、現在の価格と在庫状況をチェックしてみてください。

🔒 セキュリティと外部アクセスの設定

Dockerでサービスを動かすところまでは前セクションで解説したけど、正直ここからが本番だと思っている。自宅サーバーを立てて「やったー動いた!」で満足して、セキュリティを後回しにした結果どうなるか。俺の場合、以前SSHのポートをデフォルトの22番のまま放置していたら、auth.logに中国やロシアからのブルートフォース攻撃が1日数百件記録されていて背筋が凍った経験がある。自宅のIPアドレスに対して、botが24時間365日アタックしてくるのが現実の世界なので、最低限の対策は初日にやるべきだと断言しておく。

最低限やるべきセキュリティ対策

「何から手をつけていいかわからない」という声をよく聞くけど、Raspberry Pi 5で自宅サーバーを運用するなら、以下の5つは初期セットアップと同時にやってしまうのがベスト。後からやろうとすると絶対に忘れる。

STEP1:デフォルトユーザーの変更とパスワード強化

Raspberry Pi OSのデフォルトユーザー「pi」は世界中に知られているので、そのまま使うのは鍵をかけずにドアを開けておくようなもの。新しいユーザーを作成してsudo権限を付与し、「pi」ユーザーは無効化またはロックしておく。パスワードは20文字以上のランダム文字列を推奨。

sudo adduser myuser
sudo usermod -aG sudo myuser
sudo usermod -L pi
STEP2:SSH鍵認証に切り替え、パスワードログインを無効化

パスワード認証を残しておくと、どれだけ複雑なパスワードを設定してもブルートフォース攻撃のリスクがゼロにならない。SSH鍵認証に切り替えたうえで、/etc/ssh/sshd_configを編集する。

PasswordAuthentication no
PermitRootLogin no
Port 2222  # デフォルトの22番から変更

ポート番号の変更は「セキュリティ的に意味がない」という意見もあるけど、botの自動スキャンを大幅に減らせるので実用的な効果は十分にある。俺の環境では22→2222に変えただけで不正アクセス試行が1日500件から10件以下に激減した。

STEP3:ufwでファイアウォールを設定

Raspberry Pi OSにはデフォルトでファイアウォールが有効になっていないので、ufw(Uncomplicated Firewall)を導入して必要なポートだけ開ける。

sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp   # SSH(変更後のポート)
sudo ufw allow 53         # Pi-hole用DNS
sudo ufw allow 80,443/tcp # Webアクセス用
sudo ufw enable

ここで注意点がひとつ。Dockerはデフォルトでufwのルールをバイパスしてしまう仕様になっている。つまり、ufwで閉じたつもりのポートがDockerコンテナ経由で外部に公開されてしまう。対策として/etc/docker/daemon.json"iptables": falseを追加するか、Docker Composeでportsの代わりに127.0.0.1:8080:80のようにローカルバインドを明示するのが定石。俺はこれを知らずに1ヶ月ほどNASの管理画面を全世界に公開していた時期があって、気づいたときは本当に冷や汗をかいた。

STEP4:fail2banで不正アクセスを自動ブロック

SSH鍵認証にしていても、ログイン試行自体のログが溜まり続けるのは精神衛生上よくない。fail2banを入れておけば、一定回数ログインに失敗したIPを自動的にBANしてくれる。

sudo apt install fail2ban
sudo systemctl enable fail2ban

デフォルト設定のままでも十分機能するけど、SSH用のjailは有効化しておくこと。設定ファイルは/etc/fail2ban/jail.localにコピーしてカスタマイズするのが作法。

STEP5:自動アップデートの有効化

セキュリティパッチを手動で適用し続けるのは現実的に厳しい。unattended-upgradesパッケージを有効にしておけば、セキュリティ関連のアップデートが自動適用される。

sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

ただし、自動アップデートでカーネルが更新された場合、再起動が必要になることがある。NASやPi-holeを常時稼働させている環境では、自動再起動のタイミングを深夜帯に設定しておくと安心。

Tailscaleで外出先から安全にアクセスする方法

外出先から自宅サーバーにアクセスしたい場面は意外と多い。出先でNASのファイルを確認したり、Pi-holeの設定を変えたり、Home Assistantでエアコンを操作したり。従来はVPN(OpenVPNやWireGuard)を自前で構築するのが定番だったけど、証明書管理やルーターの設定が面倒で挫折する人が多かった。

そこでおすすめしたいのがTailscale。WireGuardベースのメッシュVPNサービスで、個人利用なら最大100デバイスまで無料で使える。設定の簡単さが異次元で、俺が初めて使ったときは「え、これだけ?」と拍子抜けしたくらい。

STEP1:Raspberry Pi側にTailscaleをインストール
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

表示されるURLをブラウザで開いて認証するだけ。これでRaspberry Piが Tailscaleネットワーク(Tailnet)に参加する。

STEP2:スマホ・PCにもTailscaleを入れる

iOS / Android / Windows / macOS、どのプラットフォームにもアプリが用意されている。同じアカウントでログインすれば、デバイス同士が自動的にピアツーピアで接続される。NAT越えもTailscaleが勝手にやってくれるので、ルーターの設定は一切不要。

STEP3:Tailscale経由でサービスにアクセス

Tailscaleが割り当てる100.x.x.xのIPアドレスを使えば、外出先からでもLAN内にいるのと同じ感覚で自宅サーバーにアクセスできる。たとえばHome Assistantならhttp://100.x.x.x:8123でそのまま開ける。

実際に半年以上Tailscaleを使ってきた正直な感想としては、接続の安定性に不満を感じたことはほぼない。ただし、1つだけ注意点がある。Exit Node機能を有効にして全トラフィックを自宅経由にすると、回線速度がRaspberry Piの処理能力に依存するので、動画視聴などには向かない場面がある。あくまでサーバー管理やファイルアクセス用途と割り切るのが快適に使うコツだと感じている。

ポート開放をしない運用のすすめ

自宅サーバー初心者がやりがちなミスとして「ルーターのポートを開放して外部からアクセスできるようにする」というのがある。たしかにポートフォワーディングすれば手軽に外部アクセスできるけど、これは自宅のネットワークに穴を開けるのと同義なので、個人的にはまったくおすすめしない。

項目 ポート開放 Tailscale
セットアップの手間 ルーター設定+DDNS+SSL証明書 コマンド1つ
セキュリティリスク 高い(全世界に公開) 低い(認証済みデバイスのみ)
通信の暗号化 自前でSSL設定が必要 WireGuardで自動暗号化
ルーター設定 必要(機種ごとに手順が異なる) 不要
コスト 無料(DDNSは有料の場合あり) 個人利用は無料
外部からのアクセス速度 直接接続で高速 P2P接続でほぼ同等

Webサービスを第三者に公開する目的がない限り、ポート開放はデメリットのほうが大きい。仮にどうしても外部公開が必要な場合は、Cloudflare Tunnelsを使って自宅IPを隠す方法もある。Cloudflare Tunnelsも無料プランで利用できるので、ポート開放の代替として検討する価値は十分にある。

俺が実際にやっている構成
  • SSH:Tailscale経由のみ(ポート2222、鍵認証のみ)
  • NAS(Samba):LAN内+Tailscale経由のみ
  • Pi-hole管理画面:LAN内のみ(外出先では触らない)
  • Home Assistant:Tailscale経由でスマホからアクセス
  • ルーターのポート開放:ゼロ(完全に閉じている)

この構成で1年以上運用しているけど、外部からアクセスできなくて困った場面は一度もない。Tailscaleの無料枠(100デバイス)を使い切ることもまずないので、個人利用なら費用もゼロで済んでいる。ルーターの設定をいじらなくていいというのが地味に最大のメリットで、引っ越しやルーター交換のときも何も再設定する必要がないのは本当に楽。

セキュリティ対策は「やりすぎかな」くらいでちょうどいい。特にRaspberry Pi 5は常時稼働が前提のサーバーなので、一度設定を固めてしまえばあとは放置でOK。最初の30分を惜しまずにここで紹介した設定を済ませておけば、安心して自宅サーバーライフを楽しめるはず。

Raspberry Pi 5(4GB)は自宅サーバー用途に十分なスペックを備えながら、消費電力はわずか数ワット程度と経済的です。在庫状況が安定しているうちに、最新の価格や対応ケースとのセット販売をチェックしてみてください。

❓ よくある質問(Q&A)

電気代は実際いくらかかる?

Raspberry Pi 5のアイドル時消費電力はおよそ3〜4W、負荷がかかっても最大12W程度。24時間365日つけっぱなしでも、電気代は月額100〜200円前後が目安になります。俺の環境だとSSD込みで月150円くらい。市販NAS(常時15〜30W)と比べると半分以下なので、電気代が理由で躊躇する必要はまずないでしょう。

Raspberry Pi 5の寿命や耐久性は?

SoC自体は産業用途にも使われる設計なので、適切に冷却していれば3〜5年以上は普通に動きます。ただし壊れやすいのはmicroSDカードのほう。常時書き込みが発生するサーバー用途だとSDの寿命が1年持たないケースもあるので、俺はシステムドライブをUSB SSDに移行済み。これだけで耐久性の不安はほぼ消えます。

Raspberry Pi 5は高負荷時に発熱しやすいため、安定稼働を目指すならケース選びも重要なポイントです。公式ケースは専用ファンと通気設計で効率よく排熱でき、24時間運用の自宅サーバーにも安心して使えるので、気になる方はスペックや価格をチェックしてみてください。

NASとして速度は十分?

Pi 5はUSB 3.0とギガビットEthernetを搭載しているので、Sambaでのファイル転送は実測80〜110MB/sほど出ます。家庭内で写真や動画を共有する程度なら全く問題ないレベル。ただし、4K動画の複数同時トランスコードや大人数での同時アクセスには力不足で、そこはSynologyやQNAPの4〜5万円クラスのNASに分があります。

Pi-holeを入れると不具合が出る?

たまにあります。特定のサイトが表示されない、アプリの認証が通らないといったケースは俺も経験済み。原因はほぼ「ブロックリストが広告以外のドメインまで巻き込んでいる」パターンで、Pi-holeの管理画面からクエリログを確認して該当ドメインをホワイトリストに追加すれば即解決します。最初の1〜2週間だけ微調整が必要ですが、そこを乗り越えれば安定稼働します。

Raspberry Pi 4でも同じことはできる?

結論から言うと、できなくはないが快適さがかなり違います。Pi 4はCPU性能がPi 5の約6割程度で、USB・PCIeまわりの帯域も狭い。Pi-hole単体やライトなファイル共有なら十分ですが、NAS+広告ブロック+IoTハブを1台に集約するとなると処理が詰まる場面が出てきます。Pi 5が1万3,000〜1万5,000円前後で買えることを考えると、これから始めるなら素直にPi 5を選ぶのがおすすめです。

Raspberry Pi 5(4GB)は自宅サーバー用途に十分なスペックを備えながら、消費電力はわずか数ワット程度と経済的です。在庫状況が安定しているうちに、最新の価格や対応ケースとのセット販売をチェックしてみてください。

📝 まとめ|結局Raspberry Pi 5自宅サーバーは誰におすすめか

ここまでRaspberry Pi 5を使った自宅サーバー構築について、NAS・広告ブロック・IoTハブの3本柱を中心に解説してきた。正直なところ、初期費用は本体+ケース+SSD+電源で1.5〜2万円前後かかるし、セットアップにはターミナル操作も必要になる。万人向けとは言えない。

ただ、月額たった約50円の電気代で、NASのサブスク料もVPNの月額料金も全部ゼロにできる。この「一度組んだら固定費ほぼゼロ」という構造は、市販のNASキットやクラウドストレージとは根本的に違う強みだと感じている。

こんな人にはRaspberry Pi 5サーバーが最適

  • 月額サブスクを減らしたい人──Google One・iCloud・NordVPNなど毎月数百〜数千円払っているなら、半年で元が取れる計算
  • ネットワーク広告にうんざりしている人──Pi-hole導入だけで家族全員のスマホ・PC・テレビから広告が消える体験は衝撃的
  • スマートホームを本格運用したい人──Home Assistantを常時稼働させるのに、Pi 5の消費電力と安定性はちょうどいい
  • Linux・ネットワークの勉強をしたい人──壊しても数分でOSを焼き直せるので、実験環境としてこれ以上ない

一方で、こういう人には正直おすすめしない。動画編集データを何TBも扱うような本格NAS用途なら、SynologyやQNAPの4ベイモデルを素直に買ったほうが幸せになれる。あと「コマンドラインは絶対に触りたくない」という人も、途中で詰まる可能性が高いので覚悟が必要だ。

Raspberry Pi 5(8GB)があれば、NAS・広告ブロック・IoTハブをこの1台に集約できます。自宅サーバー構築を検討している方は、現在の価格と在庫状況をチェックしてみてください。

最初の一歩はPi-holeから始めるのがおすすめ

俺自身、最初からNASもVPNもIoTも全部盛りで構築しようとして、設定の沼にハマった経験がある。だからこそ断言するけど、まずはPi-holeだけ入れるところから始めるのが正解。インストールはコマンド1行、設定は10分で終わる。それだけで「自宅サーバーってこんなに便利なのか」と実感できるし、そこからSambaでNAS化、Home Assistantの追加と段階的に広げていけばいい。

Raspberry Pi 5はAmazon実売で1.2〜1.5万円前後(8GBモデル)。ケースや電源を含めた初期投資2万円弱で、自宅のネットワーク環境がまるごと変わる。月50円の維持費でこの満足度は、10年以上ガジェットを触ってきた中でもトップクラスのコスパだと感じている。気になった方は、まずPi 5本体と公式電源アダプターだけでも手に入れてみてください。

📦 この記事のおすすめ商品まとめ

本記事でご紹介した商品をまとめています。購入前の最終確認にご活用ください。

Raspberry Pi 5(8GB)があれば、NAS・広告ブロック・IoTハブをこの1台に集約できます。自宅サーバー構築を検討している方は、現在の価格と在庫状況をチェックしてみてください。

Raspberry Pi 5(4GB)は自宅サーバー用途に十分なスペックを備えながら、消費電力はわずか数ワット程度と経済的です。在庫状況が安定しているうちに、最新の価格や対応ケースとのセット販売をチェックしてみてください。

Raspberry Pi 5は高負荷時に発熱しやすいため、安定稼働を目指すならケース選びも重要なポイントです。公式ケースは専用ファンと通気設計で効率よく排熱でき、24時間運用の自宅サーバーにも安心して使えるので、気になる方はスペックや価格をチェックしてみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次