Proxmox VE Helper-Scriptsを試す

以前VMware ESXiを使っていた頃は、新しいサービスをちょっと試すだけでも、OSのISOイメージを落としてきてVMを作成し、インストーラーをポチポチ進めて、SSHで入ってパッケージを入れて……と、1〜2時間は覚悟が必要な作業でした。

Proxmox VEに移行してからは、コミュニティ製のスクリプト集「Proxmox VE Helper-Scripts」のおかげで、この作業がコマンド一発・数分で終わるようになりました。以前のESXi環境と比べると、検証環境を作るスピードが体感で10倍くらいサクサクです。

今回は、この「Proxmox VE Helper-Scripts」の使い勝手をまとめておきます。

TL;DL

  • Proxmox VE上にLXCコンテナと目的のアプリを全自動構築してくれるスクリプト集。
  • ESXiのようにOSインストールから手作業で行う必要がなく、コマンド一発で完結。
  • 実行前にGitHubやDeepWikiでスクリプトの中身を確認できるので安心感がある。

ESXiやDockerと何が違うのか

一言で言えば、「Proxmox VE上にLXC(Linuxコンテナ)やVMを自動生成し、アプリの初期設定まで済ませてくれるスクリプト集」です。公式サイト(community-scripts.github.io/ProxmoxVE)には、AdGuard Home、Home Assistant、Nextcloudなど膨大な数のスクリプトが並んでいます。

従来の手法と比べると、ちょうど良いとこ取りのような立ち位置ですね。

  • VMware ESXi(従来のVM構築): 独立したサーバーとして扱えるが、ISOからのOS導入や初期設定がとにかく面倒(OVAアプライアンスがあれば別ですが、種類が限られます)。
  • Docker: コマンド一発でアプリが立ち上がるが、ホストOSの用意や compose.yaml の管理が必要。
  • Helper-Scripts: コマンド一発で「IPアドレスを持った独立したLinuxサーバー(LXC)+導入済みアプリ」が手に入る。SSHで入って systemctl で管理するなど、従来のVMと同じ感覚で運用できつつ、リソース消費も非常に軽量です。

使ってみる

百聞は一見に如かずということで、実際に動かしてみます。
公式サイトから入れたいサービス(LXCまたはVM)のスクリプトを探して、Proxmoxのシェルに貼り付けるだけです。

今回は例として、死活監視ツールの「Uptime Kuma(LXCコンテナ)」を入れてみます(ちなみに素の「Ubuntu VM」や「Home Assistant OS VM」なども同じ手順で作れます)。

手順は↓これだけ。

  1. Proxmoxの管理画面から、ノード(親機)のShellを開く。
  2. 以下のコマンドを実行。
# 例1:Uptime KumaのLXCコンテナを構築する場合
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/uptimekuma.sh)"

# 例2:Ubuntu のVMを構築する場合(VMも同様にコマンド一発です)
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/ubuntu-vm.sh)"
  1. ウィザードに従って設定(基本はデフォルトの「Yes」でOK)を進めていくだけ。

   __  __      __  _                   __ __
  / / / /___  / /_(_)___ ___  ___     / //_/_  ______ ___  ____ _
 / / / / __ \/ __/ / __ `__ \/ _ \   / ,< / / / / __ `__ \/ __ `/
/ /_/ / /_/ / /_/ / / / / / /  __/  / /| / /_/ / / / / / / /_/ /
\____/ .___/\__/_/_/ /_/ /_/\___/  /_/ |_\__,_/_/ /_/ /_/\__,_/
    /_/
  ⚙️  Using Default Settings on node proxmox
  💡  PVE Version 9.2.24 (Kernel: 7.0.14-22-pve)
  🆔  Container ID: 101
  🖥️  Operating System: debian (13)
  📦  Container Type: Unprivileged
  💾  Disk Size: 4 GB
  🧠  CPU Cores: 1
  🛠️  RAM Size: 1024 MiB
  🚀  Creating a Uptime Kuma LXC using the above default settings

  ✔️  Storage 'ssd' (lvmthin) validated - Free: 642.4GB  Used: 292.3GB
  ✔️  Template storage 'freenas' validated - Free: 3.5TB  Used: 4.0TB
  ✔️  Template search completed
  ✔️  Template debian-13-standard_13.1-2_amd64.tar.zst [local]
  ✔️  Container 101 created
  ✔️  Container started
  ✔️  Network reachable (192.168.0.166)
  💡   Skipping timezone setup – zone 'host' not found in container
  ✔️  Container customized
  ✔️  Set up Container OS
  ✔️  Network Connected: 192.168.0.166
  ✔️  IPv4 Internet Connected
  ✔️  IPv6 Internet Connected
  ✔️  Git DNS: github.com:(✔️ ) raw.githubusercontent.com:(✔️ ) api.github.com:(✔️ )
  ✔️  Updated Container OS
  ✔️  Installed dependencies
  ✔️  Setup Node.js 22 (npm 12.2.1)
  ✔️  Deployed: uptime-kuma (2.5.9)
  ✔️  Installed Uptime Kuma
  ✔️  Created Service
  ✔️  Customized Container
  ✔️  Cleaned
  ✔️  Completed successfully!

  🚀  Uptime Kuma setup has been successfully initialized!
  💡  Access it using the following URL:
  🌐  http://192.168.0.166:3001
root@proxmox:~#

スクリプトが走り出すと、OSテンプレート(またはクラウドイメージ)の取得からLXC/VMの作成、アプリのインストールまで全自動で進み、数分で完了します。
LXCアプリなら、最後にコンソールに表示されるIPアドレスとポートにブラウザからアクセスすれば、もうサービスが使えます。

使う上での注意点とセキュリティ

便利な反面、実際にいくつか使ってみて気になった点もあります。

  • ブラックボックス化しやすい: 全自動で入るため、後から手動で設定ファイルをいじろうとした時に「どこに何があるかわからない」となりがちです。
  • root権限でのスクリプト実行: 仕組み上、インターネット上のスクリプトをProxmoxノードのroot権限で直接叩くことになります。

セキュリティ面が気になるところですが、スクリプトの実体はGitHubの community-scripts/ProxmoxVE リポジトリで完全に公開されています(元々はtteck氏が個人で開発していましたが、現在はコミュニティに引き継がれているようです)。

また、DeepWiki を使うと、各スクリプトが裏で何をやっているのかを要約して確認できるので、シェルスクリプトを直接読むのが億劫な時にも便利です。自分の場合は、新しいサービスを入れる前にこれらで怪しい挙動がないかざっと目を通すようにしています。

まとめ

ESXi時代の手動構築と比べると、「Proxmox VE Helper-Scripts」の手軽さは圧倒的です。
ProxmoxのWeb UIからバックアップやリソース制限もそのまま行えるので、自宅ラボで色々なサービスを試したい方はぜひ活用してみてください。

カテゴリー: ソフトウェア タグ: パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です