「VM Manager」の画面構成見直しやバグ修正など

QEMU/KVMのVMを管理出来る「VM Manager」ですが、画面がごちゃごちゃしてきたので、すっきりと見直してみました。またいくつかのバグも修正しています。

ホストにインストール

ホストにインストールして使います。LAN内に公開されるので何かしら対策して試してみてください。

sudo nano install-vm-manage7.sh
sudo bash install-vm-manage7.sh
#!/bin/bash
set -e

INSTALL_DIR="/opt/vm-manage"
SERVICE_NAME="vm-manage"
PORT=8090

echo "=========================================="
echo " VM Manager Web UI - インストールスクリプト"
echo "=========================================="

if [ "$(id -u)" -ne 0 ]; then
    echo "エラー: このスクリプトは root で実行してください"
    exit 1
fi

echo ""
echo "[1/7] システムパッケージをインストール中..."
apt-get update -qq
apt-get install -y -qq \
    python3 \
    python3-venv \
    python3-pip \
    python3-libvirt \
    libvirt-daemon \
    libvirt-daemon-system \
    libvirt-clients \
    qemu-system-x86 \
    qemu-utils \
    qemu-system-gui \
    qemu-system-modules-spice \
    ovmf \
    usbutils \
    sudo \
    curl

echo "[2/7] libvirtd サービスを有効化中..."
systemctl enable --now libvirtd.service

echo "[3/7] アプリケーションファイルを展開中..."
mkdir -p "${INSTALL_DIR}"

TARBALL_DATA="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"
echo "${TARBALL_DATA}" | base64 -d | tar xzf - -C "${INSTALL_DIR}"

echo "[4/7] Python 仮想環境を作成中..."
if [ -d "${INSTALL_DIR}/venv" ]; then
    rm -rf "${INSTALL_DIR}/venv"
fi
python3 -m venv --system-site-packages "${INSTALL_DIR}/venv"
chmod +x "${INSTALL_DIR}/venv/bin/python"

echo "[5/7] Flask をインストール中..."
"${INSTALL_DIR}/venv/bin/pip" install --quiet --upgrade pip
"${INSTALL_DIR}/venv/bin/pip" install --quiet flask

echo "[6/7] systemd サービスを設定中..."
cat > "/etc/systemd/system/${SERVICE_NAME}.service" << '''SVCEOF'''
[Unit]
Description=VM Manager Web UI
After=libvirtd.service
Requires=libvirtd.service

[Service]
Type=simple
User=root
WorkingDirectory=/opt/vm-manage
ExecStart=/opt/vm-manage/venv/bin/python /opt/vm-manage/app.py
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
SVCEOF

echo "[7/7] サービスを起動中..."
systemctl daemon-reload
systemctl enable --now "${SERVICE_NAME}.service"

echo ""
echo "=========================================="
echo " インストール完了!"
echo "=========================================="
echo ""
echo " サービス状態:"
systemctl is-active "${SERVICE_NAME}.service"
echo ""
IP_ADDR=$(hostname -I | awk '{print $1}')
echo " アクセスURL: http://${IP_ADDR}:${PORT}"
echo ""
タイトルとURLをコピーしました