【2026年7月21日追記】
本記事の単体コンテナ構成は現在も有効です。Docker 全体を一元管理したい方向けに、Home Assistant・Node-RED・Mosquitto を 1つの docker-compose.yml に統合する方法も別記事で紹介しています。既存の Home Assistant をそのまま移行できる手順もまとめていますので、運用をよりシンプルにしたい方はこちらの記事をぜひご覧ください。
はじめに
以前の記事では、Raspberry Pi 4 を Node-RED サーバとして構築する方法を紹介しました。
今回はその環境をベースに、Home Assistant をインストールし、IoTデバイスやスマートホーム機器を一元管理できるサーバを構築します。
Home Assistant を導入すると、ブラウザからセンサーの状態確認やリレー制御、ダッシュボードの作成などが簡単に行えるようになります。また、MQTTとの相性が非常に良く、自作デバイスやNode-REDとの連携にも最適です。
今回は Home Assistant Container を利用し、Docker 上で Home Assistant を動作させます。
この記事で構築する環境
- Raspberry Pi 4
- Raspberry Pi OS Lite (64bit)
- Docker
- Home Assistant Container
Home Assistant Container を選ぶ理由
Home Assistant にはいくつかのインストール方法があります。
- Home Assistant OS
- Home Assistant Container
- Home Assistant Supervised
今回は Home Assistant Container を使用します。
Docker上で動作させることで、以前構築した Node-RED や Mosquitto MQTT Broker と同じ Raspberry Pi 上で運用しやすく、必要なサービスだけを自由に追加・管理できるためです。
Raspberry Piの初期設定
この記事では Raspberry Pi の初期設定は省略します。
以下の作業が完了していることを前提に進めます。
- Raspberry Pi OS Lite のインストール
- SSDからの起動
- SSH接続
- システムアップデート
- 固定IPアドレスの設定
Raspberry Pi の初期セットアップ(OSのインストール、SSH設定、固定IP設定など)がまだの方は、まずはこちらの記事をご覧ください。
Node-RED が不要な場合は、Node-RED のインストール手順は飛ばしても問題ありません。
Dockerをインストール
ここから Home Assistant の構築を始めます。
Home Assistant は Docker コンテナとして動作させるため、最初に Docker をインストールします。
curl -fsSL https://get.docker.com | sh
Docker グループへ現在のユーザーを追加します。
sudo usermod -aG docker $USER
一度ログアウトしてログインし直すか、再起動してください。
Docker が使えることを確認します。
docker --version
Home Assistantを起動する
Home Assistant 用の設定ディレクトリを作成します。
mkdir -p ~/homeassistant
Docker コンテナを起動します。
docker run -d \
--name homeassistant \
--restart unless-stopped \
--network=host \
-v ~/homeassistant:/config \
-e TZ=Asia/Tokyo \
ghcr.io/home-assistant/home-assistant:stable
Docker オプションについて
| オプション | 説明 |
|---|---|
--name homeassistant |
コンテナ名を指定 |
--restart unless-stopped |
再起動時も自動で起動 |
--network=host |
Raspberry Pi のネットワークをそのまま利用 |
-v ~/homeassistant:/config |
設定ファイルを保存 |
-e TZ=Asia/Tokyo |
タイムゾーンを日本時間に設定 |
初回起動では Home Assistant のセットアップが行われるため、5~10分ほどかかる場合があります。
起動状況は以下のコマンドで確認できます。
docker logs -f homeassistant
コンテナが起動しているか確認する場合は、
docker ps
を実行してください。
Home Assistantへアクセス
ブラウザから以下のアドレスへアクセスします。
http://ラズパイのIPアドレス:8123
初回起動ではセットアップ画面が表示されるので、
- ユーザー名
- パスワード
- 地域
- タイムゾーン
などを設定します。
動作確認
Home Assistant のダッシュボードが表示されればインストール成功です。
この後の構成
この記事で構築した Home Assistant は、以前導入した MQTT Broker や自作デバイス ESP32IO と組み合わせることで、以下のような構成になります。
ESP32IO
│
│ MQTT
▼
Mosquitto MQTT Broker
│
▼
Home Assistant
│
▼
PC・スマートフォン
この構成により、
- センサー値のリアルタイム表示
- リレーやLEDの操作
- ダッシュボードの作成
- 自動化(Automation)
などをブラウザから簡単に行えるようになります。
まとめ
Home Assistant を導入することで、MQTT や ESP32IO と連携した IoT システムを、ブラウザから簡単に監視・制御できる環境が整いました。
Docker版を利用することで、Node-RED や MQTT Broker など他のサービスと共存しやすく、Raspberry Pi を小型の IoT サーバとして活用できます。
次回は、以前構築した MQTT Broker と Home Assistant を接続し、自作の ESP32IO を自動認識(MQTT Discovery)させる方法を紹介する予定です。
関連記事
MQTT Broker を Raspberry Pi に導入する方法
MQTT対応版 ESP32IO の紹介
