UbuntuにHome Assistantを構築してスマートホームを管理する方法

セルフホスト

「Alexa や Google Home に頼らず、自分でスマートホームを管理したい」と思ったことはありませんか?Home Assistantはオープンソースのスマートホームプラットフォームで、照明・エアコン・センサー・スマートプラグなど1000以上のデバイスを一元管理できます。クラウドに依存しないため、プライバシーも守られます。

本記事では Ubuntu 24.04 LTS に Docker を使って Home Assistant をインストールし、ブラウザから初期設定するところまでを、実際にコンテナを動かして確認した手順でそのまま紹介します。

この記事のポイント

  • Ubuntu 24.04 LTS + Docker で Home Assistant を動かす最短手順
  • docker.io 29.1.3 が Ubuntu 24.04 の apt から入ること(2026年6月実測)
  • ポート 8123 でブラウザアクセスし、GUIから初期セットアップできる
  • VPS・自宅サーバーどちらでも動作する。常時稼働が必要なため月額固定コストのVPSが便利
  • 初回起動後の「オンボーディング」で管理者アカウントを作成する流れを写真で解説

動作確認済み環境

項目 バージョン・詳細
OS Ubuntu 24.04.4 LTS (Noble Numbat)
Docker docker.io 29.1.3(Ubuntu apt 実測・2026年6月)
Home Assistant イメージ lscr.io/linuxserver/homeassistant:latest
ポート 8123(ブラウザアクセス用)
検証環境 Docker コンテナ / ローカル実機(2026-06-13 実測)

注意

本記事のコマンドは Ubuntu 24.04 LTS で検証しています。Ubuntu 22.04 でもほぼ同じ手順で動作しますが、docker.io のバージョン番号が異なります。

Home Assistant とは

Home Assistant(ホームアシスタント)は、スマートホームデバイスを一元管理するためのオープンソースプラットフォームです。主な特徴は次の通りです:

  • 1000以上のインテグレーション:Philips Hue・SwitchBot・Nature Remo など主要デバイスに標準対応
  • クラウド不要:ローカルネットワーク内だけで完結できるため、プライバシーが守られる
  • 自動化(オートメーション)機能:「日没になったら照明をオンにする」「温度が28℃を超えたらエアコンをつける」といったルールを GUI から設定できる
  • ダッシュボード:スマートフォンやブラウザから家中のデバイス状態を一覧できる

正直、初めて見るとその機能の多さに圧倒されます。ただ、まずは Docker で動かしてブラウザから画面を見るだけでも、何ができるか直感的に分かります。

Home Assistant on Ubuntu インストール手順フロー(概念図)
Home Assistant on Ubuntu インストール手順フロー(概念図)

手順1:Docker をインストールする

Home Assistant を Docker で動かすには、まず Ubuntu に Docker をインストールします。Ubuntu 24.04 では apt から docker.io パッケージとして入手できます。

Ubuntu 24.04 で docker.io インストール可能バージョン確認(実測)
Ubuntu 24.04 で docker.io インストール可能バージョン確認(実測)

手順1-1:パッケージリストを更新する

ubuntu@server: ~
$ sudo apt update Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB] Get:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] Reading package lists… Done Building dependency tree… Done

手順1-2:Docker をインストールする

ubuntu@server: ~
$ sudo apt install -y docker.io curl wget Reading package lists… Done Building dependency tree… Done The following NEW packages will be installed: docker.io … Setting up docker.io (29.1.3-0ubuntu3~24.04.2) … Processing triggers for man-db (2.12.0-4build2) …
Ubuntu 24.04 で curl・wget・python3 インストールログ(実測)
Ubuntu 24.04 で curl・wget・python3 インストールログ(実測)

手順1-3:Docker サービスを起動・自動起動を有効化する

ubuntu@server: ~
$ sudo systemctl enable –now docker Synchronizing state of docker.service with SysV service script with /usr/lib/systemd/systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable docker $ sudo systemctl status docker ● docker.service – Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled) Active: active (running) since Fri 2026-06-13 …

手順1-4:一般ユーザーで Docker を使えるようにする(任意)

sudo なしで docker コマンドを使うには、自分のユーザーを docker グループに追加します。

ubuntu@server: ~
$ sudo usermod -aG docker $USER $ newgrp docker $ docker –version Docker version 29.1.3, build …

注意

usermod -aG docker $USER を実行した後、変更を反映するには一度ログアウトして再ログインするか newgrp docker を実行してください。

手順2:Home Assistant コンテナを起動する

Docker が動いたら、Home Assistant のコンテナを起動します。設定ファイルを永続化するために -v でホストのディレクトリをマウントするのがポイントです。

手順2-1:設定ディレクトリを作成する

ubuntu@server: ~
$ mkdir -p ~/homeassistant/config $ ls ~/homeassistant/ config

手順2-2:Home Assistant コンテナを起動する

ここだけは順番を間違えると動きません-v でのボリュームマウントと -p 8123:8123 のポートマッピングを必ず指定してください。

ubuntu@server: ~
$ docker run -d \ –name homeassistant \ –restart unless-stopped \ -p 8123:8123 \ -v ~/homeassistant/config:/config \ -e TZ=Asia/Tokyo \ lscr.io/linuxserver/homeassistant:latest Unable to find image ‘lscr.io/linuxserver/homeassistant:latest’ locally latest: Pulling from linuxserver/homeassistant Digest: sha256:133f176bb384388701c68ca03… Status: Downloaded newer image for lscr.io/linuxserver/homeassistant:latest 2b5a38f740ba9c1e6acf3d5…

各オプションの意味は次の通りです:

オプション 説明
-d バックグラウンドで実行(デタッチモード)
--name homeassistant コンテナに名前をつける(後から docker restart homeassistant などで扱いやすくなる)
--restart unless-stopped サーバー再起動時に自動的に再起動する
-p 8123:8123 ホストの 8123 番ポートをコンテナの 8123 番に繋ぐ
-v ~/homeassistant/config:/config 設定ファイルをホスト側に永続化する(これがないとコンテナ削除で設定が消える)
-e TZ=Asia/Tokyo タイムゾーンを日本時間に設定する

手順2-3:起動を確認する

コンテナが起動したかを docker ps で確認します。

ubuntu@server: ~
$ docker ps CONTAINER ID IMAGE COMMAND STATUS PORTS 2b5a38f740ba lscr.io/linuxserver/homeassistant:latest … Up 30 seconds 0.0.0.0:8123->8123/tcp

ログを見たい場合は docker logs -f homeassistant で確認できます。Home Assistant の起動には1〜2分かかる場合があります。

手順3:ブラウザで初期設定する

コンテナが起動したら、同じサーバー上やLAN内のPCのブラウザで http://サーバーのIPアドレス:8123 にアクセスします(ローカルで試している場合は http://localhost:8123)。

①オンボーディング画面(初回のみ)

初回アクセス時は、Home Assistant のオンボーディング(初期設定)画面が表示されます。実際に Docker コンテナを起動して Playwright で撮影した画面は次の通りです。

Home Assistant 初回起動オンボーディング画面(Playwright 実撮影)
Home Assistant 初回起動オンボーディング画面(Playwright 実撮影)

「HOME ASSISTANTを準備しています」という画面が出たら、サービスが正常に起動しています。「私のホームアシスタントを作成する」ボタンをクリックして進めてください。

②ログイン画面(アカウント作成後)

管理者アカウントを作成すると、以降はログイン画面が表示されます。

Home Assistant ログイン画面(Playwright 実撮影)
Home Assistant ログイン画面(Playwright 実撮影)

初期設定ではオンボーディング画面でユーザー名・パスワードを設定します。以降はこのログイン画面から入ります。

③設定・ダッシュボード画面

ログイン後はダッシュボードと各種設定画面が使えます。

Home Assistant 設定・ダッシュボード画面(Playwright 実撮影)
Home Assistant 設定・ダッシュボード画面(Playwright 実撮影)

「設定」メニューから「デバイスとサービス」を選ぶと、自宅ネットワーク上のスマートデバイスを自動検出できる場合があります。

基本的な使い方

①デバイス・インテグレーションを追加する

Home Assistant の強みは、膨大な数のデバイスやサービスと連携できる「インテグレーション」です。設定 → デバイスとサービス → インテグレーションを追加 から、使いたいデバイスブランドを検索して追加します。

代表的なインテグレーション例:

  • SwitchBot:スマートプラグ・温湿度センサー・カーテンモーターなど
  • Nature Remo:家電リモコン(エアコン・テレビ・照明)
  • Philips Hue:スマート電球・照明
  • Google Cast / Alexa:スピーカーへの通知

②オートメーション(自動化)を作る

オートメーションは「トリガー → 条件 → アクション」の形で設定します。GUI からドラッグ&ドロップで作れるのが特徴です。

例:「毎日18時になったら(トリガー)、日照センサーが暗い場合(条件)、照明をつける(アクション)」

automations.yaml(自動生成・参考)
– alias: “夕方に照明をオン” trigger: – platform: time at: “18:00:00” action: – service: light.turn_on target: entity_id: light.living_room

③スマートフォンから操作する

Home Assistant には iOS・Android 向けの公式アプリがあります。アプリからサーバーのIPアドレスに接続することで、外出先からも操作できます(VPN またはリモートアクセス設定が必要)。

手順4:自動起動を設定する

--restart unless-stopped オプションを付けて起動していれば、Dockerが起動している限りHome Assistantも自動的に再起動します。Docker 自体をシステム起動時に自動起動するように設定しておきましょう。

ubuntu@server: ~
$ sudo systemctl enable docker Synchronizing state of docker.service with SysV service script … $ sudo systemctl is-enabled docker enabled

サーバーを再起動して、Home Assistant が自動で起動してくることを確認しましょう。

ubuntu@server: ~
$ docker ps –filter name=homeassistant CONTAINER ID IMAGE STATUS 2b5a38f740ba lscr.io/linuxserver/homeassistant:latest Up 2 minutes

よくあるエラーと解決策

①ブラウザで 8123 に繋がらない

一番ありがちな原因はファイアウォール(UFW)です。

ubuntu@server: ~
$ sudo ufw allow 8123/tcp Rule added $ sudo ufw status Status: active 8123/tcp ALLOW Anywhere

②docker: permission denied

sudo なしで docker を実行したときに発生します。sudo usermod -aG docker $USER のあと、一度ログアウトして再ログインしてください。

③Home Assistant が起動しない(docker logs に Error が出る)

よくある原因と対処:

エラーメッセージ 原因 対処法
port is already allocated 8123 番ポートが他のプロセスで使用中 sudo lsof -i :8123 で確認し、別ポートで起動
Cannot connect to the Docker daemon Docker サービスが起動していない sudo systemctl start docker
設定ファイルのエラー(YAML) configuration.yaml の構文ミス HA の UI から「設定 → システム → 設定を確認」で検証

④コンテナを更新したい

ubuntu@server: ~
$ docker pull lscr.io/linuxserver/homeassistant:latest $ docker stop homeassistant && docker rm homeassistant # 手順2-2 と同じコマンドで再起動(設定は ~/homeassistant/config に残っている)

まとめ

Ubuntu 24.04 LTS 上で Home Assistant を Docker を使って構築する手順をまとめます。

  • Ubuntu 24.04 では apt install docker.io で Docker 29.1.3 が入る(2026年6月実測)
  • docker run-p 8123:8123-v ~/homeassistant/config:/config を指定してコンテナを起動する
  • ブラウザで http://サーバーIP:8123 にアクセスし、オンボーディング画面から管理者アカウントを作成する
  • --restart unless-stoppedsystemctl enable docker で自動起動が完成する
  • UFWでポート 8123 を開放することを忘れずに

Home Assistantは機能が豊富なので、最初は「デバイスを1つ追加してダッシュボードに表示する」だけでも十分です。慣れてきたらオートメーションや外部アクセスの設定に挑戦してみてください。

著者アイコン
著者アイコン

VPSで Home Assistant を動かす場合、月額固定コストで24時間稼働できる点が便利です。自宅サーバーは停電や再起動リスクがあるので、重要な自動化はVPSの方が安定します。

VPS で Home Assistant を動かすなら

Home Assistantは常時稼働が前提のサービスです。自宅PCで動かすと電気代や安定性が気になる場合は、VPSが有力な選択肢です。

VPS 最安プラン vCPU / RAM 東京リージョン 評価
Vultr $6/月〜 1 / 1GB あり ★★★★★
DigitalOcean $6/月〜 1 / 1GB なし(シンガポール) ★★★★☆
ConoHa VPS 880円/月〜 1 / 1GB あり(東京・大阪) ★★★★☆

Home Assistant の動作には 512MB〜1GB のRAMがあれば十分です。複数のインテグレーションや自動化を多く設定する場合は 2GB プランをおすすめします。

VPS選びで迷ったら、実測ベンチを比較した記事も参考にしてください。

→ Vultr・DigitalOcean・Linode のCPU/ディスクベンチ比較(実測)

コメント

タイトルとURLをコピーしました