homebridge-proxmoxの設定メモ【iPhoneからVM・LXCを操作する】
はじめに
Homebridgeのインストールと設定で紹介したHomebridgeに@evan-kinney/homebridge-proxmoxプラグインを追加することで、ProxmoxのVM・LXCコンテナをiPhoneの「ホーム」アプリやSiriから起動・停止できるようになります。
Proxmoxの管理画面を開かずにスイッチひとつでVMを操作できるのが便利です。
プラグインのインストール
Homebridgeの管理画面(http://<IPアドレス>:8581)のプラグインタブからhomebridge-proxmoxを検索してインストールします。
またはCLIからインストールすることも可能です。
sudo npm install -g @evan-kinney/homebridge-proxmox
ProxmoxのAPIトークン作成(推奨)
パスワード認証よりAPIトークンの使用が推奨されています。
- ProxmoxのWeb管理画面にログイン
- Datacenter → Permissions → API Tokens を選択
- Add をクリックしてトークンを作成
作成後に表示されるSecretは再表示できないので必ず控えておきます。
Proxmoxユーザーの権限設定
Homebridgeが使用するユーザーに必要な権限を付与します。
# Proxmoxのシェルで実行
pveum user add homebridge@pve
pveum aclmod / -user homebridge@pve -role PVEVMUser
config.jsonの設定
Homebridgeのconfig.jsonに以下を追加します。
パスワード認証の場合
複数のProxmoxサーバーを登録することも可能です。
{
"servers": [
{
"name": "proxmox-windows",
"username": "root@pam",
"password": "your-password",
"host": "192.168.1.100",
"port": 8006,
"ssl": true
},
{
"name": "proxmox-n100",
"username": "root@pam",
"password": "your-password",
"host": "192.168.1.101",
"port": 8006,
"ssl": true
}
],
"debug": false,
"accessoryType": "switch",
"pollingInterval": 30,
"_bridge": {
"username": "XX:XX:XX:XX:XX:XX",
"port": 46669
},
"platform": "HomebridgeProxmox"
}
APIトークン認証の場合(推奨)
{
"servers": [
{
"name": "proxmox-server",
"host": "192.168.1.100",
"port": 8006,
"username": "homebridge@pve",
"apiToken": {
"tokenId": "homebridge@pve!homebridge-token",
"secret": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"ssl": true
}
],
"debug": false,
"accessoryType": "switch",
"pollingInterval": 30,
"_bridge": {
"username": "XX:XX:XX:XX:XX:XX",
"port": 46669
},
"platform": "HomebridgeProxmox"
}
設定項目の説明
serversの設定
| キー | 必須 | 説明 |
|---|---|---|
name | ✓ | サーバーの識別名 |
host | ✓ | ProxmoxサーバーのIPアドレスまたはホスト名 |
port | ✓ | Proxmox APIのポート(デフォルト: 8006) |
username | ✓ | Proxmoxのユーザー名(user@realm形式) |
password | △ | パスワード認証の場合に指定 |
apiToken | △ | APIトークン認証の場合に指定 |
ssl | - | SSL検証の有効化(自己署名証明書の場合はfalse) |
その他の設定
| キー | 説明 |
|---|---|
accessoryType | HomeKitでの表示タイプ(switch推奨) |
pollingInterval | VM状態の更新間隔(秒) |
debug | デバッグログの有効化 |
_bridgeセクション(Child Bridge)
_bridgeはHomebridgeのChild Bridge機能の設定です。
プラグインを独立したブリッジとして動作させることで、プラグインの問題がHomebridge全体に影響しにくくなります。
| キー | 説明 |
|---|---|
username | Child BridgeのMACアドレス形式の識別子 |
port | Child Bridgeが使用するポート番号 |
動作確認
設定後にHomebridgeを再起動します。
sudo systemctl restart homebridge
ProxmoxのVM・LXCが自動検出されてiPhoneのホームアプリにスイッチとして表示されます。 スイッチをONにするとVMが起動し、OFFにすると停止します。
自己署名証明書を使っている場合
ProxmoxはデフォルトでSSLに自己署名証明書を使用しています。
証明書エラーが発生する場合はsslをfalseに設定してください。
"ssl": false
まとめ
@evan-kinney/homebridge-proxmoxを使うことでProxmoxのVM・LXCをiPhoneのホームアプリから手軽に操作できます。
複数のProxmoxサーバーを同時に登録できるため、自宅に複数台のProxmoxがある環境でも一元管理できます。
Homebridgeの基本的な設定についてはHomebridgeのインストールと設定メモを参照してください。