Raspberry Pi 4 に Home Assistant、 AdGuard Home、 OpenMediaVault をインストールする
created at: 2023-07-12
historyはじめに
先日 Raspberry Pi 4 を買って色々遊びました。
その中で Home Assistant、 AdGuard Home、 OpenMediaValut をインストールしたのでその手順をまとめます。
準備したもの
- Raspberry Pi 4 Model B 8GB
- microSDXC 128GB
- HDD 1TB
- HDD ケース
OS のインストール
Raspberry Pi Imager で Raspberry Pi OS Lite (64 bit) をインストールします。
設定で事前に SSH、ユーザー名、Wi-Fi の設定をしておきます。
準備
raspberrypi.local
でアクセスします。ユーザー名のパスワードは先程設定したものを入力します。
ssh [email protected]
IP アドレスを固定する
dhcpcd.conf
に固定したい IP アドレスを設定します。sudo vi /etc/dhcpcd.conf
# dhcpcd.conf
interface eth0
static ip_address=192.168.0.41/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 8.8.8.8
設定したら
sudo reboot
で再起動して固定した IP アドレスで接続できるか確認します。ssh [email protected]
Home Assistant
基本的に以下の手順に沿ってインストールします。
あとこちらの記事を参考にしました。
Docker をインストールする
curl -fsSL get.docker.com | sh
sudo usermod -aG docker pi # dockerにユーザーを追加
sudo reboot # 再起動
依存関係をインストールする
apt install \
apparmor \
jq \
wget \
curl \
udisks2 \
libglib2.0-bin \
network-manager \
dbus \
lsb-release \
systemd-journal-remote \
systemd-resolved -y
私の場合
systemd-resolved
がインストール出来なかったので省きました。OS をインストールする
1.5.1
の部分は最新のバージョンに置き換えてください。wget https://github.com/home-assistant/os-agent/releases/download/1.5.1/os-agent_1.5.1_linux_aarch64.deb
sudo dpkg -i os-agent_1.5.1_linux_aarch64.deb
appArmor を設定する
こちらを参考に設定します。
sudo vi /boot/cmdline.txt
末尾に以下を追加する。
apparmor=1 security=apparmor
Supervisor をインストールする
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
sudo dpkg -i --ignore-depends=systemd-resolved homeassistant-supervised.deb
先程
systemd-resolved
をインストールしなかったため依存関係のエラーが出ます。そのため以下の issue を参考に
--ignore-depends=systemd-resolved
を追加してインストールします。無事インストール出来たら
[IPアドレス]:8123
にアクセスして設定します。HACS をインストールする
HACS を使うことで Store に無いサードパーティ製のプラグインをインストールできるようになります。
私は Alexa Media Player というコンポーネントを使ってます。
用途
まだあまり活用できていないのですが、各スマートデバイスで設定していたものを Home Assistant に集約して管理しています。
あとは Chromecast で毎朝 Youtube のニュースを流したり、予定の 5 分前に Alexa で知らせるようにしてみました。
AdGuard Home
DNS サーバとして使うことで広告をブロックすることが出来ます。
以下を参考にインストールします。
wget 'https://static.adguard.com/adguardhome/release/AdGuardHome_linux_arm64.tar.gz'
tar -f AdGuardHome_linux_arm64.tar.gz -x -v
cd ./AdGuardHome/
sudo ./AdGuardHome -s install
インストールできたら
[IPアドレス]:3000
にアクセスして設定します。53 ポートの重複を回避する
systemd-resolved
と重複していたので以下を参考に設定しました。ダッシュボードの URL を変更する
デフォルトだと 80 ポートで起動するので、OpenMediaValut と重複してしまいます。
なので
AdGuardHome.yaml
を編集して 3000 ポートで起動するようにしました。sudo vi ./AdGuardHome/AdGuardHome.yaml
http:
address: 0.0.0.0:3000
session_ttl: 720h
...
各デバイスで DNS を設定する
ルータの設定でカスタム DNS を設定すれば必要は無いのですが、私のルータでは出来なかったので各デバイスで設定しました。
Wi-Fi の設定に DNS の項目があるのでそこに IP アドレスを設定します。
OpenMediaVault
1TB の外付け HDD を接続して NAS を作りました。
大したデータを保存するわけではないので RAID は設定しません。
インストール
sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
インストール出来たら IP アドレスでアクセスしログインします。
初期ユーザー名は
admin
、パスワードは openmediavault
です。あとは HDD を登録してファイル共有を設定します。詳しい手順は割愛します。
用途
主に自炊した漫画を保存するのに使用してます。
iOS だと ComicShare というアプリが便利でした。
最後に
ラズパイを買ったのは初めてだったので少々苦戦しましたが、楽しかったです。
他にも色々出来ないか模索中です。