環境準備

MiniPremにつきましては、こちらのページをかならずお読みいただき、理解頂いた上でご利用頂いております。

前提条件

ハードウェア

下記条件よりもハードウェアスペックが低い場合でもインストールは可能ですが、コマ落ち、フリーズ、再接続などの動作不具合が発生する、あるいは期待する品質で使用できない可能性が高くなります。

OS
Rootアクセスが可能なUbuntu 24.04システム(Ubuntu 22.04、WSLにはインストールできません。)
CPU
• ハイエンドIntel第14世代 / AMD Zen 5またはそれ以降 • コア数: 8 以上
RAM
32GB 以上
NVMe SSD
• 容量: 256GB 以上 • スピード: PCIe 4.0 以上
NVIDIA RTX GPU
GeForce RTX 4080以上 / RTX Ada Generation(6000 Ada等)以上 🔥 RTX 5000系は使用不可 - Audio2Faceの互換性問題のため。NVIDIA対応待ち(2025年6月現在) • GPUメモリ: 16GB 以上 • ドライババージョン: 535.183.01(またはそれ以降の互換バージョン) • CUDAバージョン: 12.2(またはそれ以降の互換バージョン) • NVIDIA-smi/nvcc -V コマンドで上記が確認できること
 

その他環境

インターネット接続
• パケットロス、揺らぎの無いインターネット接続 • Dockerイメージのダウンロード(約80GB程度)、ストリーミング配信、ライセンス認証・音声認識・音声合成・LLMとの接続で使用します。
ブラウザ
Google Chrome(バージョン124 以上)
リモートアクセス手段・経路
TeamViewer や AnyDesk などリモートアクセスにてインストール対象にリモート接続し、ターミナルでインストール作業を実行できる環境。接続に必要なアカウント等をお客様にてご提供ください。 ※ SSHサーバーを準備していただき、ngrok等を使用してリモートアクセスすることも可能です。
 

デジタルヒューマンを表示する端末

表示端末は、MiniPremがインストールされた端末と同じである必要はありません。

 

事前準備

Ubuntu 24.04をクリーンインストールしたホストをご準備いただき、MiniPremインストーラーを実行する前に、以下のソフトウェアをインストールしておく必要があります。

下記手順は一例であり、事前準備における操作方法や問題について弊社はサポートいたしません。お客様の責任においてご準備、作業を行ってください。

 
  1. rootユーザーのパスワード設定
    1. Ubuntu 24.04では、デフォルトでrootユーザーのパスワードが設定されていない場合があります。インストール作業にはroot権限が必要なため、事前に設定しておく必要があります。

      ※必ず作業後にrootアカウント/SSH/開放ポートの無効化・削除をしてください。

      # rootユーザーのパスワードを設定
      sudo passwd root
      # root権限を持つ一般ユーザーを設定する場合は以下
      sudo passwd <ユーザー名>
      
      # プロンプトが表示されたら、新しいパスワードを入力(2回)
      # Enter new UNIX password: [パスワードを入力]
      # Retype new UNIX password: [パスワードを再入力]
       
  1. システムパッケージの更新
    1. sudo apt update && sudo apt upgrade -y
       
  1. 基本的な開発ツールのインストール
    1. sudo apt install -y \
        curl \
        wget \
        git \
        build-essential \
        software-properties-common \
        apt-transport-https \
        ca-certificates \
        gnupg \
        lsb-release \
        unzip \
        jq \
        socat \
        openssl \
        smartmontools

      それぞれのパッケージの簡単な説明は以下の通り

      パッケージ名
      説明
      curl
      コマンドラインでデータ転送を行うツール(主にHTTP/HTTPS/SFTPなど)
      wget
      インターネットからファイルをダウンロードするためのコマンドラインツール
      git
      分散型バージョン管理システム(ソースコード管理などに利用される)
      build-essential
      gccやmakeなどC/C++の開発・ビルドに必要なツールのメタパッケージ
      software-properties-common
      add-apt-repositoryコマンドなど、リポジトリ管理用のスクリプトやツール
      apt-transport-https
      aptでHTTPSプロトコルを使ったパッケージ取得を可能にする
      ca-certificates
      SSL/TLS通信の際の認証局(CA)の証明書パッケージ
      gnupg
      GnuPG(PGP互換の暗号化ソフト。署名や暗号化/復号化、鍵管理に利用される)
      lsb-release
      Linux Standard Base情報を表示するツール(lsb_releaseコマンドを含む)
      unzip
      zip形式の圧縮ファイルを解凍するためのコマンドラインツール
      jq
      JSONデータを操作・整形・クエリできるコマンドラインツール
      socat
      多機能なバイナリ転送ツール(ポート転送やプロキシ、通信路の作成などができる)
      openssl
      SSL/TLS関連のツールおよび暗号化/証明書管理などの機能
      smartmontools
      S.M.A.R.T.(HDD/SSDの自己監視機能)情報の取得や自己診断ツール
  1. Google Chrome のインストール
    1. # Chromeリポジトリの追加
      # 1. GPGキーをダウンロードして保存
      wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/googlechrome-linux-keyring.gpg
      
      # 2. リポジトリを追加(signed-byでキーを指定)
      echo "deb [arch=amd64 signed-by=/usr/share/keyrings/googlechrome-linux-keyring.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
      
      # Chromeのインストール
      sudo apt update
      sudo apt install -y google-chrome-stable
      
      # バージョン確認(124以上であることを確認)
      google-chrome --version
       
  1. NVIDIA ドライバーとCUDAツールキット
    1. # NVIDIAドライバーのインストール(535.183.01以降)
      sudo apt-get purge nvidia* -y
      sudo apt-get autoremove -y
      sudo apt install -y ubuntu-drivers-common
      ubuntu-drivers devices
      sudo ubuntu-drivers autoinstall
      
      # CUDAツールキットのインストール(12.2以降)
      wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
      sudo dpkg -i cuda-keyring_1.1-1_all.deb
      sudo apt update
      sudo apt install -y cuda-toolkit-12-2
      
      # 再起動
      sudo reboot
      
      # インストール確認
      nvidia-smi
      nvcc -V
       
  1. 事前準備の確認
    1. すべての依存関係とシステム要件が正しく満たされているか確認してください。

      ※ ターミナルにコピペで実行することで、MiniPremのインストール前にシステムが要件を満たしているかを包括的に確認できます。

      TS=$(date +%Y%m%d_%H%M) && \
      ( \
      echo "=== 権限確認 ===" && \
      if [ "$(id -u)" = "0" ]; then echo "rootユーザーで実行中"; else echo "一般ユーザー($(whoami))で実行中"; fi && \
      sudo -v && echo "sudo(管理者権限)確認OK" || echo "sudo権限がありません" && \
      echo "=== OS情報 ===" && \
      lsb_release -a && \
      uname -r && \
      echo -e "\n=== CPU情報 ===" && \
      lscpu | grep -E "Model name|CPU\(s\)|Thread\(s\) per core|Core\(s\) per socket" && \
      nproc && \
      echo -e "\n=== メモリ情報 ===" && \
      free -h && \
      sudo dmidecode -t memory | grep -E "Size|Speed|Type" | grep -v "No Module" | head -20 && \
      echo -e "\n=== ストレージ情報 ===" && \
      df -h / && \
      lsblk -d -o NAME,SIZE,TYPE,TRAN | grep -E "nvme|ssd" && \
      sudo smartctl -a /dev/nvme0n1 2>/dev/null | grep -E "Model|Capacity|Available Spare" || echo "smartctl not available or no NVMe drive" && \
      echo -e "\n=== GPU情報 ===" && \
      nvidia-smi && \
      nvidia-smi -q | grep -E "Product Name|FB Memory Usage|Driver Version|CUDA Version" && \
      echo -e "\n=== ソフトウェアバージョン ===" && \
      google-chrome --version && \
      nvcc -V && \
      echo -e "\n=== ネットワーク接続 ===" && \
      echo "Docker Hub接続テスト:" && \
      curl -s -o /dev/null -w "HTTP Status: %{http_code}, Time: %{time_total}s\n" https://hub.docker.com && \
      echo "UneeQ API接続テスト:" && \
      curl -s -o /dev/null -w "HTTP Status: %{http_code}, Time: %{time_total}s\n" https://api.uneeq.io && \
      echo "DHKK API接続テスト:" && \
      curl -s -o /dev/null -w "HTTP Status: %{http_code}, Time: %{time_total}s\n" https://hosted-experience.jp && \
      echo "DHKK 接続テスト:" && \
      curl -s -o /dev/null -w "HTTP Status: %{http_code}, Time: %{time_total}s\n" http://digitalhumans-demo.jp && \
      echo "Azure TTS接続テスト(主要リージョン):"
      tmpfile=$(mktemp)
      for region in japaneast japanwest eastus eastus2 westus westus2 centralus southcentralus southeastasia eastasia koreacentral koreasouth eastindia; do 
          url="https://${region}.tts.speech.microsoft.com"
          echo "リージョン:$region へのping接続テスト"
          sum=0
          for i in {1..5}; do
              # curlで応答時間取得
              t=$(curl -s -o /dev/null -w "%{time_total}" "$url")
              printf "  %d回目: %s秒\n" "$i" "$t"
              sum=$(echo "$sum + $t" | bc)
          done
          avg=$(echo "scale=6; $sum/5" | bc)
          printf "  → 平均RTT: %s秒\n" "$avg"
          echo "${region},${avg}" >> "$tmpfile"
      done
      echo -e "\n=== Azure TTS 全リージョンRTT結果(RTTが短い順)==="
      sort -t, -k2,2n "$tmpfile" | awk -F, '{printf("  %2d. %-20s : %s秒\n", NR, $1, $2)}'
      rm -f "$tmpfile"
      echo "外部IPアドレス:" && \
      curl -s https://api.ipify.org && echo && \
      echo "=== パケットロス(WebRTC想定)テスト 10秒間 ===" && \
      (ping -s 1200 -i 0.02 -c 500 digitalhumans-demo.jp | tee ping_result.txt ; \
      loss_line=$(grep -i "packet loss" ping_result.txt) ; \
      echo -e "\n==== パケットロス結果 ====" ; \
      echo "$loss_line" ; \
      loss_percent=$(echo "$loss_line" | grep -oE '[0-9]+(\.[0-9]+)?%' | tr -d '%') ; \
      if [ -n "$loss_percent" ]; then \
          echo -e "\n==== WebRTC品質判定 ====" ; \
          if (( $(echo "$loss_percent <= 1" | bc -l) )); then \
              echo "✅ 優秀: パケットロス ${loss_percent}%" ; \
              echo "  - WebRTC通信に最適です" ; \
              echo "  - 高品質な音声・映像通信が可能" ; \
              echo "  - デジタルヒューマンの動作: 非常に滑らか" ; \
          elif (( $(echo "$loss_percent <= 3" | bc -l) )); then \
              echo "✅ 良好: パケットロス ${loss_percent}%" ; \
              echo "  - WebRTC通信は問題なく動作します" ; \
              echo "  - 音声・映像品質は良好" ; \
              echo "  - デジタルヒューマンの動作: 滑らか" ; \
          elif (( $(echo "$loss_percent <= 5" | bc -l) )); then \
              echo "⚠️  注意: パケットロス ${loss_percent}%" ; \
              echo "  - 音声/映像品質に若干の影響が出る可能性" ; \
              echo "  - 時折、音声の途切れや映像のカクつきが発生" ; \
              echo "  - デジタルヒューマンの動作: やや不安定" ; \
              echo "  - 推奨: ネットワーク環境の確認" ; \
          elif (( $(echo "$loss_percent <= 10" | bc -l) )); then \
              echo "⚠️  警告: パケットロス ${loss_percent}%" ; \
              echo "  - 音声の途切れや映像の乱れが頻繁に発生" ; \
              echo "  - ユーザー体験が大幅に低下" ; \
              echo "  - デジタルヒューマンの動作: 不安定" ; \
              echo "  - 必須: ネットワーク環境の改善" ; \
          else \
              echo "❌ 不適: パケットロス ${loss_percent}%" ; \
              echo "  - WebRTC通信には適していません" ; \
              echo "  - 音声・映像が頻繁に途切れます" ; \
              echo "  - デジタルヒューマンの動作: 使用困難" ; \
              echo "  - 必須: ネットワーク環境の大幅な改善が必要" ; \
          fi ; \
          echo -e "\n【推奨対策】" ; \
          if (( $(echo "$loss_percent > 3" | bc -l) )); then \
              echo "  1. 有線接続への切り替えを検討" ; \
              echo "  2. Wi-Fiの場合は5GHz帯の使用を推奨" ; \
              echo "  3. ルーターやアクセスポイントの再起動" ; \
              echo "  4. ネットワーク帯域の確保(他のアプリケーションの停止)" ; \
              echo "  5. ISPへの問い合わせ" ; \
          fi ; \
      fi ; \
      echo) && \
      echo -e "\nこのコマンド結果(miniprem_precheck_${TS}.txt)をコピペしてデジタルヒューマン株式会社へお送りください。" && \
      echo -e "\n==== 実行日時: ${TS} ====" \
      ) | tee miniprem_precheck_${TS}.txt
       

      確認結果の期待値

      === 権限確認 ===
      一般ユーザー(ubuntu)で実行中
      sudo(管理者権限)確認OK
      
      === OS情報 ===
      Distributor ID: Ubuntu
      Description:    Ubuntu 24.04 LTS    # バージョン確認
      Release:        24.04
      Codename:       noble
      
      === CPU情報 ===
      Model name:     [Intel/AMD CPU モデル]
      CPU(s):         16              # 8以上であること
      Thread(s) per core: 2
      Core(s) per socket: 8
      
      === メモリ情報 ===
                    total        used        free
      Mem:           31Gi        5.2Gi       20Gi    # 32GB以上であること
      
      === ストレージ情報 ===
      Filesystem      Size  Used Avail Use% Mounted on
      /dev/nvme0n1p2  468G   50G  394G  12% /        # 256GB以上の空き容量
      
      === GPU情報 ===
      +-----------------------------------------------------------------------------+
      | NVIDIA-SMI 535.183.01    Driver Version: 535.183.01    CUDA Version: 12.2  |
      |-------------------------------+----------------------+----------------------+
      | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
      | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
      |   0  NVIDIA RTX 4080     Off  | 00000000:01:00.0 Off |                  N/A |
      |  0%   45C    P8    20W / 320W |      0MiB / 16384MiB |      0%      Default |
      +-------------------------------+----------------------+----------------------+
      
      === ソフトウェアバージョン ===
      Google Chrome 124.0.6367.78     # 124以上
      CUDA Version: 12.2              # 12.2以上
      Docker version 24.0.7           # インストール済みの場合
      Docker Compose version v2.21.0  # インストール済みの場合
      
      --- 以下続く ---
 

リモートインストール準備

リモートインストールを行うためのアプリケーション(TeamViewerなど)はお客様にてご準備いただき、アカウント等をご提供ください。

また、TeamViewer等を使用せず、安全にリモートインストールするために一時的にVPN経由でSSH接続する方法も対応可能です。その際は下記の手順でご準備ください。

インストール時の手順

  1. パッケージの更新
    1. sudo apt update
      sudo apt upgrade -y
  1. OpenSSHサーバーのインストール
    1. sudo apt install -y openssh-server
  1. OpenSSHサービスの状態確認と起動
      • OpenSSHサービスが動いているか確認します:
        • sudo systemctl status ssh
      • 必要に応じてサービスを開始
        • sudo systemctl enable ssh
          sudo systemctl start ssh
  1. ファイアウォールの設定
      • UFW(Uncomplicated Firewall)が有効になっている場合、SSHの許可設定を行います:
        • sudo ufw allow ssh
  1. VPNをインストールします
    1. ngrokをインストールします。下記の1か2の手順を行ってください。

    2. Aptを使用する
      1. # 1. GPGキーを追加
        curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null
        
        # 2. リポジトリを追加
        echo "deb https://ngrok-agent.s3.amazonaws.com noble main" | sudo tee /etc/apt/sources.list.d/ngrok.list
        
        # 3. パッケージリストを更新してインストール
        sudo apt update && sudo apt install ngrok
    3. Snapを使用する
      1. snap install ngrok
  1. VPNの認証情報を設定します
    1. ngrok config add-authtoken {ここのキーは別途お知らせします}
  1. VPNを起動します
    1. ngrok tcp --region=jp --remote-addr=1.tcp.jp.ngrok.io:{ポート番号は別途お伝えします} 22
       

      下記の様に表示されたら成功です。デジタルヒューマン株式会社のエキスパートへ接続ができた事をお知らせください。

    2. Ubuntuの rootユーザー名 パスワード をお知らせ下さい。
    3. Ctrl + Cを押すとVPNが終了してしまいますので、作業中は操作しないでください。
      1. Notion image

インストール終了後の手順

  1. ngrokのセッションを終了
      • ターミナルでngrokが動作しているウィンドウをアクティブにして、Ctrl + Cを押してセッションを終了します。
  1. ngrokの自動起動を無効化:
      • 特に設定していない限り、ngrokは自動起動しません。サービス設定などを行った場合は無効化が必要です。以下のコマンドで確認し、無効化します:
        • sudo systemctl disable ngrok
          ngrok config add-authtoken ""
  1. OpenSSHサーバーの停止
      • SSHサーバーを停止し、必要に応じて無効化します。
        • sudo systemctl stop ssh
          sudo systemctl disable ssh
  1. ファイアウォールでSSHのポートを閉じる (必要に応じて)
      • 既にSSHアクセスが必要でない場合、ファイアウォールの設定を更新してポートを閉じます。
        • sudo ufw deny ssh

これで、リモートインストール後のセキュリティ対策が完了します。

 
 
 
お役に立ちましたか?
😞
😐
🤩

最終更新日 June 25, 2025