Home Assistant のインストール
Google Home mini などでの音声操作は、Google Home に Switchbot を連携させて、使えるようになって十分に便利になったけど、調べて出てきた Home Assistant も試してみたくなった。
Docker をインストール
普通に、Ubuntu の Docker をインストールする手順にてインストール。
Docker に Home Assistant をインストール
参考にしている記事などでは、homebridge なども Docker でインストールしているけど、我が家は homebridge が既に動いているので Home Assistant だけを docker で動かせばいい。これにあわせ、docker-compose.yml を作成。Docker 内の設定ファイルが保存される /config は、/var/lib/homeassistant にマウントさせる。
((( /etc/homeassistant/docker-compose.yml )))
version: '2'
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- /var/lib/homeassistant://config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
privileged: true
network_mode: host
$ cd /etc/homeassistant $ sudo docker-compose up -d $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES xxxxxxxxxxxx ghcr.io/home-assistant/home-assistant:stable "/init" 15 minutes ago Up 15 minutes homeassistant
設定がうまくいったら、http://localhost:8123 を開いて、ユーザ登録などを行う。
設定ができた後は色々と設定して、最終的に以下のような画面となった。
homebridge-gshが有償化
自宅の homebridge の制御を google home mini から行うために homebridge-gsh を使っていた。便利に “OK,google” で便利に使っていたけど、エラーがでるようになってきた。homebridge-gsh の導入した当初のページには、「無償だけど有償登録をお願い」みたいに書いてあったけど、2025年5月から、有償サービスに移行していたようだ。
プラグインの再設定を試みたけど、エラーが出るのでよくよく見たら、Trial Expired … ってしっかり表示されていらぁ。
月額 US$2.00 or 年額 US$22.00 を PayPal or カードで支払いとな。こんだけ便利に使ってるのにケチケチ野郎は導入に悩む。Gemini に聞いてみたところ Home Assistant を導入する方法が紹介された。
でも、よくよく考えたら、メインの機器は Switchbot の配下だし、ぐだぐだ考えずに Google Home アプリで、Switchbot を連携でいいじゃん。
SPF, DMARC の確認をしてみよう
最近になって、spam が増えて、文面も日本狙いで、しかもついつい押してしまいそうなものばかり。
SPF 確認の設定
$ sudo apt install postfix-policyd-spf-python
postfixの設定
((( /etc/postfix/main.cf )))
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
check_policy_service inet:127.0.0.1:10023 # postgrey
check_policy_service unix:private/policy-spf # postfix-policyd-spf-python
最後に postfix の再起動
$ sudo systemctl postfix
postgreyの起動方法の変更
メール受信チェックの postgrey を使っているけど、inet 起動になっている。でも一般的には socket 起動が普通のようなので変更するか。
((( /etc/default/postgrey )))
#POSTGREY_OPTS="--inet=127.0.0.1:10023"
POSTGREY_OPTS="--unix=/var/lib/postgrey/postgrey.sock"
((( /etc/postfix/main.cf )))
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_policy_service unix:/var/lib/postgrey/postgrey.sock
check_policy_service unix:private/policy-spf
smtpd_relay_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_policy_service unix:/var/lib/postgrey/postgrey.sock
OpenDMARC確認の設定
apt install opendmarc 設定に失敗中
(追記)
上記のように、SPFや postgrey などの設定を見直したけど、SPF, Postgrey, DKIM 全部通ったメールが届いてる。はぁ….
Thuderbird の spamfilter が迷惑フォルダに落としてくれているけど。
Authentication-Results: XXXXXXXX;
dkim=pass (1024-bit key; unprotected) header.d=qlaahl.com
header.i=sbi_news_alert@qlaahl.com header.a=rsa-sha256
header.s=default header.b=mQJjBRHe;
dkim-atps=neutral
X-Greylist: delayed 601 seconds by postgrey-1.37 at XXXXXXXX;
Sun, 07 Sep 2025 09:53:47 JST
Received-SPF: Pass (mailfrom) identity=mailfrom;
client-ip=34.142.162.76; helo=qlaahl.com;
envelope-from=sbi_news_alert@qlaahl.com; receiver=tsaitoh.net
(追記09/18) DKIM通過の迷惑メール減った
DKIM, SPFを通過してくる迷惑メールが増えたけど、送信元がブラックリストに載り出したのか、迷惑メールも来なくなったな。
自宅サーバへのdkim-passのspam
最近、自宅サーバに届く spam だけど、どれも dkim=pass のメールばかり。
DKIM さえも信用できなくなってるのか?
spam の分析
調べてみると、発信元は全部異なるドメイン名なんだけど、どの spam もサーバ自体は google cloud で、ドメイン名は tucowsdomains.com となっている。
((( spam のメールヘッダ ))) Received: from flvvzqx.com (flvvzqx.com [34.64.222.184]) : $ whois 34.64.222.184 : NetRange: 34.64.0.0 - 34.64.255.255 CIDR: 34.64.0.0/16 NetName: GOOGLE-CLOUD NetHandle: NET-34-64-0-0-2 Parent: GOOGL-2 (NET-34-64-0-0-1) NetType: Reallocated : $ whois flvvzqx.com Domain Name: FLVVZQX.COM Registry Domain ID: 2923522407_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.tucows.com Registrar URL: http://www.tucows.com :
DNSBL の更新
以前、メールが届かないトラブルがあったとき、メールの送信元の確認で使っている DNS Blackhole list のサーバが、実はサポートがいい加減とか、メンテナンスされてないといったことがあり、bl.spamcop.net だけで運用していた。
今回、spam が増えたことだし Gemini に相談したら、zen.spamhaus.org を教えてくれた。もっと候補を挙げて…と調べて教えてた multi.uribl.com なども追加してみたけど、運用実験したら、自分の au.com , mineo.jp のメールもブロックしちゃう。
ということで、最終的には zen.spamhaus.org , bl.spamcom.net に留めた。
((( /etc/postfix/main.cf )))
smtpd_client_restrictions = permit_mynetworks,
check_client_access regexp:/etc/postfix/smtpd_client_regexp
+ reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_unknown_client_hostname,
permit
sshで多段loginでブラウザ起動
sshトンネル
リモートのFireWallの内側から自宅サーバにsshトンネルを必要に応じて掘るようにしている。
リモート$ ssh -R トンネルポート:localhost:22 自宅サーバ ping -i 30 -c 60 localhost
これにより、自宅サーバからリモートに接続する際には、slogin で接続できる。
自宅サーバ$ slogin -p トンネルポート localhost
トンネル経由でブラウザ起動
サーバのメンテナンス程度なら前述の slogin で便利に作業できるけど、リモートの FireWall の内側のWebサーバに接続したいことも出てくる。
こういう場合は、多段 login を使うけど、ssh, slogin の組み合わせが面倒なのでメモ。
自宅WindowsWSL$ ssh -t -X 自宅サーバ ssh -t -p トンネルポート -X localhost google-chrome
WP-WebAuthnで指紋認証login
WordPress の Two-Factor プラグインの多要素認証を使っているけど、メールで飛ばすワンタイムパスワードのコピペが面倒。最近は passkey などで指紋認証などが便利だし、プラグインを漁ってみた。
その中で、WP-WebAuthn が出てきた。現バージョンで検証されていない…とか表示されたけど、ひとまず動きそう。しかも、Two-Factor とも併用ができる。
WP-WebAuthn のインストール
gmp , mbstring が必要と書いてあったので、gmp を追加。(mbstringはインストール済み)
$ sudo apt install php8.4-gmp php8.4-mbstring
プラグインの WP-WebAuthn の設定では、特に変更なしで「変更を保存」
次にユーザのプロフィール画面を開き、「登録された WebAuthn 認証機能」にて「新しい認証の登録」を選び登録。
ログインの際には、以下のような画面で login できた。
forwarders 設定ミス
娘のスマホで AQUOS を購入ということで、メモ用にリンクを確認するが、SHARP でググったリンク https://corporate.jp.sharp を参照できない。最初は、 jp.sharp というドメイン名に驚くが、ググってみると .sharp とかの 新gTLD が使えるらしい。
自宅内上流ルータに DNS の問い合わせはできない
nslookup www.jp.sharp 8.8.8.8 は動くけど、nslookup www.jp.sharp は、返答が返ってこない。forwarders に書いてある DNS に問い合わせるけど、自宅内の上流ルータ 192.168.1.254 は nslookup 自体を拒否される。Buffalo の家庭用ルータなら、DNSにルータの IPアドレスを指定するのが普通なので、上流ルータの 192.168.1.254 を設定していたけど、これが間違いの元のようだ。
ということで、自宅上流ルータがもらっている丹南ケーブルの DNS 202.88.193.82, 202.127.80.3 を forwarders に記載して、正常動作するようになった。
((( /etc/bind/named.conf.options )))
forwarders {
// Google public DNS
8.8.8.8;
8.8.4.4;
// router
- 192.168.1.254; // 家庭内上流ルータのIPアドレス
+ 202.88.193.82; // ルータがもらう 丹南ケーブルの DNS
+ 202.127.80.3; // 丹南のセカンダリ DNS
};
gemini-cli 便利
Gemini をコマンドラインから使えるツール gemini-cli が公開されている。
インストールは、参考ページの中から、グローバルインストールで行った。
$ sudo npm install -g @google/gemini-cli ((( 更新も同上コマンドで可能 )))
単純に、$ gemini で 以下のような画面が表示され、プロンプトを入力すればいい。

でも、本領発揮なのは、フォルダ配下を読み込んだうえで、アドバイスが得られること。
実際、お試しで Three.js を実験していたけど、import でトラブル発生。でも「index.html が動かない」と入力したら、index.html やら、そこから読み込まれる *.js なども自動的に読み込んだうえで、修正点を指摘してくれる。
さらに指摘した修正点を、適用するか聞いてくれるので、Yes を答えたら、勝手にソースコードも修正してくれる。
LINE bot が動いていない… 月当たり最大数オーバー
我が家では、以前より 自宅専用の LINE bot を動かしていて、サーバからの通知に使っていた。
最近は、homebridge-people-pro による家への出入りの通知を、LINE に流す設定を便利に使っていたけど、先週からメッセージが滞っている。プログラムのトラブルかと思ったけど、特に問題はなさそう。
LINE bot 無料プランは最大200メッセージ/月
でも改めて考えてみたら、LINE bot が出せる最大メッセージ制限を疑う。確認すると、「無料プランだと月に200メッセージまで」とな。最近は、homebridge からの通知は1日10通ほどでてるし、軽くオーバーしてらぁ。先週 6/18 で止まってるし、まあまあ、そんなもんだな。
ということで、homebridge-inotify からの通知に LINE を使うのは最小限にしなくては。
rkhunter の設定
卒研のセキュリティの説明の中で rkhunter を紹介。説明してたら、自宅サーバにはサーバ機以降後に rkhunter がインストールされていなくって、説明がてらでインストール。
/usr/bin/lwp-request に警告が出ていたけど、Gemini で問い合わせしたら、Perl script なので、警告がでるかも。パッケージ情報を設定すれば、パッケージ情報を踏まえた検証をしてくれるようになって警告が消えるとのことなので、
((( /etc/rkhunter.conf ))) PKGMGR=DPKG # Ubuntuなので
を設定。
Checking if SSH root access is allowed [ Warning ] の警告も出ていて確認したが、確実に PermitRootLogin no に設定しておこう。
((( /etc/ssh/sshd_config ))) #PermitRootLogin prohibit-password (デフォルト) PermitRootLogin no







