> For the complete documentation index, see [llms.txt](https://docs.digitalhumans.jp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalhumans.jp/dev/miniprem/docker-deployment.md).

# Docker デプロイ

{% hint style="info" %}
**Docker デプロイ:** Docker Compose を使用してミニプレム（MiniPrem）スタック全体をローカルで実行します。Ubuntu 24.04 LTS、ドライバー 580 以降の NVIDIA GPU、および `cr.uneeq.io` の Harbor レジストリへのアクセスが必要です。
{% endhint %}

## 概要

MiniPrem の Docker デプロイは、必要なすべてのサービスをコンテナ化し、セットアップと管理が容易な完全なローカル開発環境を提供します。本ガイドでは、Docker 固有のデプロイメントプロセス、設定、および管理について説明します。

{% hint style="warning" %}
前提条件を満たす環境の準備はお客様の責任において実施いただきますようお願いいたします。デジタルヒューマン株式会社では前提条件を満たすための環境構築のサポート、ドライバー等の不具合に対する対応作業は提供しておりません。
{% endhint %}

{% hint style="warning" %}
2026年6月現在、デジタルヒューマン株式会社の正式サポート対象はデフォルト（Default Install）の Renny のみです。フルインストール（Full Install）に含まれる Renny 以外のサービス（vLLM、Flowise、RIME AI、NVIDIA RIVA、Whisper など）はサポート対象外です。
{% endhint %}

## 前提条件

* **Ubuntu 24.04 LTS** 以降（WSL は非サポート）
* Docker Engine および Docker Compose v2.0 以降（Docker Desktop は MiniPrem で必要な GPU パススルーをサポートしません）
* [NVIDIA プロプライエタリドライバー（バージョン 580 以降が必須）](/dev/miniprem/nvidia-drivers.md)
* [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)
* Harbor レジストリの認証情報（`cr.uneeq.io` 用のロボットアカウント）
* Docker GPU ランタイム対応の NVIDIA GPU（GPU アクセラレーション用）
* 最低 16GB の RAM
* GPU VRAM 8GB 以上（16GB 以上を推奨）
* 128GB 以上の空きディスク容量
* ポート 443 (HTTPS) で `cr.uneeq.io` へアクセスできるネットワーク

{% hint style="info" %}
**初回 Docker pull のディスク所要量:** インストーラーは必要な Docker イメージを自動的にダウンロードしますが、フルインストール（Full Install）では合計で **約 80GB** のイメージを取得します。\
回線帯域とストレージ空き容量を事前に確保してください。社内ネットワークでアウトバウンド帯域に制限がある環境では、初回 pull のみ別ネットワークから実施することを推奨します。\
詳細な前提条件は [前提条件チェック](/dev/miniprem/prerequisites.md) を参照してください。
{% endhint %}

## コンテナレジストリへのアクセス

### Harbor レジストリの要件

MiniPrem のコンテナイメージは、`cr.uneeq.io` のプライベート Harbor レジストリにホストされています。MiniPrem をデプロイする前に、Harbor のロボットアカウント認証情報を使用してこのレジストリで認証する必要があります。

トラブルシューティング手順やエンタープライズファイアウォール設定など、Harbor レジストリアクセスに関する詳細は [Harbor レジストリガイド](/dev/miniprem/harbor-registry.md) を参照してください。

### レジストリ認証のクイックスタート

サービスを開始する前に Harbor レジストリで認証します。

```bash
# Log in with your robot account credentials
docker login https://cr.uneeq.io --username 'robot$your-customer-name'

# When prompted, enter your Harbor password/token
```

**期待される出力**:

```
Password:
Login Succeeded
```

### ネットワーク要件

ファイアウォールが Harbor レジストリへのアウトバウンド接続を許可していることを確認してください。

* **レジストリエンドポイント**: `cr.uneeq.io:443`
* **プロトコル**: HTTPS (TLS 1.2 以降)
* **方向**: アウトバウンド

ファイアウォールルールが厳格なエンタープライズ／企業ネットワークでは、ネットワーク管理者が `cr.uneeq.io` をポート 443 でホワイトリストに登録していることを確認してください。

### 認証情報の管理

Docker は Harbor レジストリの認証情報を自動的に暗号化し、`~/.docker/config.json` に保存します。本番デプロイメントでは、以下を確認してください。

* 認証情報が安全に保管されていること
* 認証情報ファイルがバージョン管理にコミットされていないこと
* アクセス認証情報が定期的にローテーションされていること

## インストーラーの入手

デプロイ作業を始める前に、MiniPrem のインストーラー一式を入手します。入手経路は 2 種類あります。

{% tabs %}
{% tab title="デジタルヒューマン配布版（日本国内のお客様向け）" %}

```bash
# インストーラーのダウンロードと解凍
wget hosted-experience.jp/miniprem/miniprem_v1.00.zip
unzip miniprem_v1.00.zip
cd MiniPrem
```

{% hint style="info" %}
デジタルヒューマン配布版は日本国内のお客様向けにデジタルヒューマン株式会社が提供する経路です。ダウンロード URL や認証情報については[サポート窓口](https://support.digitalhumans.jp/)までお問い合わせください。
{% endhint %}
{% endtab %}

{% tab title="UneeQ 公式（GitHub）" %}

```bash
git clone https://github.com/uneeq-digital-humans/miniprem.git
cd miniprem
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
**インストールスクリプトのパスの違い:** 本ページのコマンド例は UneeQ 公式（GitHub）版のディレクトリ構成（`./docker/scripts/install_miniprem.sh`）で記載しています。デジタルヒューマン配布版をご利用の場合は、解凍したディレクトリ直下の `./install_miniprem.sh` に読み替えてください。
{% endhint %}

インストール時に必要な設定値（Platform Address・API キー・テナント ID・Azure リージョンなど）の一覧は [はじめに](/dev/miniprem/getting-started.md) の「設定値」を参照してください。

## インストール種別

MiniPrem は 3 種類のインストールプロファイルを提供しています。

⚙

### デフォルト（Default Install）

Renny デジタルヒューマンレンダラー + MiniPrem Monitor。ほとんどのデプロイメントに最適。

⚡

### フルインストール（Full Install）

完全な AI スタック: Renny、vLLM、Flowise、Grafana/Prometheus、RIME TTS、Whisper STT。

📊

### Monitor のみ

既存デプロイメント向けに、サービスを再インストールせずに独立して動作する MiniPrem Monitor。

### 1. デフォルトインストール

Renny デジタルヒューマンと MiniPrem Monitor を含みます。

```bash
./docker/scripts/install_miniprem.sh
# Select "default" when prompted
```

### 2. フルインストール

全サービスを含む完全な AI スタックです。

```bash
./docker/scripts/install_miniprem.sh
# Select "full" when prompted
```

含まれるもの:

* Renny デジタルヒューマンレンダラー（開発コード：Renny）
* vLLM 推論サーバー
* Flowise ワークフロー自動化
* MiniPrem Monitor ダッシュボード
* Grafana/Prometheus モニタリング
* Redis メッセージキュー
* RIME TTS（音声合成）
* Whisper STT（音声認識）

### 3. Monitor のみ

既存デプロイメント向けのスタンドアロンモニタリング:

```bash
cd docker/
docker compose -f docker-compose.monitor.yml up -d
```

## クイックスタート

### Harbor 認証（必須の最初のステップ）

インストールを実行する前に、Harbor レジストリで認証します。

```bash
# Authenticate with Harbor registry
docker login https://cr.uneeq.io --username 'robot$your-customer-name'

# Enter your Harbor password/token when prompted
```

認証が完了すれば、インストールに進めます。

### インタラクティブインストール

最も簡単に始める方法です。

```bash
# Run interactive installer
./docker/scripts/install_miniprem.sh

# Follow prompts to:
# 1. Choose installation type (default/full)
# 2. Configure Hosted Experience credentials
# 3. Set up services
```

### 手動インストール

プロセスをより細かく制御したい場合に使用します。

```bash
# 1. Configure Hosted Experience credentials
cat > docker/configuration.dat << EOF
{
  "customerJWT": "your-jwt-token",
  "tokenIssuer": "your-issuer-url",
  "tokenIssuerPublicKey": "your-public-key"
}
EOF

# 2. Start services
./miniprem.sh start

# 3. Verify deployment
./miniprem.sh status
```

## サービス管理

### miniprem.sh スクリプトの使用

メインの管理スクリプトは、便利なコマンドを提供します。

```bash
# Start all services
./miniprem.sh start

# Stop all services
./miniprem.sh stop

# Check service status
./miniprem.sh status

# View logs
./miniprem.sh logs

# Restart services
./miniprem.sh restart

# Initial setup
./miniprem.sh setup
```

{% hint style="info" %}
**`./miniprem.sh setup` の内部挙動:** `setup` コマンドは Flowise の Chatflow 初期設定を実行しますが、内部的には次の処理を順番に行います。

1. Flowise サービスの稼働確認
2. サービスが停止している場合は自動的に起動
3. Flowise が完全に起動するまで待機（**最大 5 分**）
4. Chatflow の初期設定スクリプトを実行\
   \
   Flowise の初期化には時間がかかるため、コマンドが長時間ハングしているように見えても、最大 5 分は待機してください。途中で中断すると Chatflow が不完全な状態になります。
   {% endhint %}

### 運用上の注意事項

`miniprem.sh` スクリプトを安定して運用するため、以下の点にご注意ください。

* **実行場所**: スクリプトは必ず MiniPrem プロジェクトのルートディレクトリから実行してください（`./docker/scripts/` など下位ディレクトリから実行すると相対パス解決に失敗します）。
* **権限**: サービスの起動・停止には Docker デーモンを操作できる権限（`docker` グループ所属または `sudo`）が必要です。
* **ログローテーション**: Docker のログファイル（コンテナログ）は長期稼働するとディスクを圧迫します。`/etc/docker/daemon.json` に `log-opts` の `max-size` / `max-file` を設定する、もしくは `logrotate` の設定を追加して、定期的なローテーションを行ってください。

```json
// /etc/docker/daemon.json の例
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "5"
  }
}
```

設定変更後は `sudo systemctl restart docker` で Docker を再起動してください。

### Docker Compose コマンドの直接実行

より細かい制御を行いたい場合に使用します。

```bash
# Start specific service
docker compose -f docker/docker-compose.yml up -d renny

# View service logs
docker compose -f docker/docker-compose.yml logs -f flowise

# Restart service
docker compose -f docker/docker-compose.yml restart vllm

# Scale services (if supported)
docker compose -f docker/docker-compose.yml up -d --scale renny=2
```

## 設定ファイル

### 主要な設定ファイルの場所

| ファイル                                | 用途                          |
| ----------------------------------- | --------------------------- |
| `docker/configuration.dat`          | デジタルヒューマン プラットフォームの認証情報     |
| `docker/docker-compose.yml`         | デフォルトサービスの定義                |
| `docker/docker-compose.default.yml` | デフォルト（Default Install）構成の定義 |
| `docker/docker-compose.full.yml`    | フルインストール（Full Install）のサービス |
| `docker/docker-compose.monitor.yml` | Monitor のみのデプロイ             |
| `docker/docker-compose.env`         | TTS / Platform 接続用の環境変数     |
| `.miniprem_install_type`            | 現在のインストールプロファイル             |
| `.env`                              | カスタム環境変数（存在する場合）            |

{% hint style="info" %}
**インストーラーが自動更新するファイル:** `install_miniprem.sh` は初回実行時に `docker/docker-compose.env`、および `docker/docker-compose.default.yml` または `docker/docker-compose.yml` を、入力された設定値に基づいて自動的に書き換えます。\
インストール後にこれらのファイルを手動編集する場合は、再インストール時に変更が失われる可能性があるため、必ずバックアップを取得してください。
{% endhint %}

### 環境変数

{% hint style="warning" %}
以下はカスタム `.env` ファイルの記載例ですが、`FLOWISE_PORT` / `MONITOR_PORT` / `GRAFANA_PORT` / `RENNY_MEMORY_LIMIT` / `VLLM_MEMORY_LIMIT` は現行の `docker-compose.yml` / `docker-compose.full.yml` 側で参照されておらず、**設定しても反映されません**（変数展開の記述自体が存在しないため）。ポートやメモリ上限を変更したい場合は `docker-compose.yml` を直接編集してください。
{% endhint %}

```bash
# GPU Configuration
NVIDIA_VISIBLE_DEVICES=0
CUDA_VISIBLE_DEVICES=0

# Debug Options
DEBUG_MODE=false
LOG_LEVEL=info
```

### docker-compose.env の主要変数

`install_miniprem.sh` の対話入力で指定した値は、`docker/docker-compose.env` に保存され、各コンテナへ環境変数として注入されます。設定ミスやキー漏れがあった場合は本ファイルを確認してください。

```bash
# Platform 設定（デジタルヒューマン プラットフォーム接続）
DHOP_ADDRESS=wss:[URL]
DHOP_PIXELSTREAMING_ADDRESS=wss:[URL]
DHOP_APIKEY=[your-api-key]
DHOP_TENANTID=[your-tenant-id]

# Azure TTS（音声合成）設定（Azure を選択した場合）
AZURE_REGION=[your-region]
AZURE_SPEECH_KEY=[your-speech-key]

# Eleven Labs 設定（Eleven Labs を選択した場合）
ELEVEN_LABS_API_KEY=[your-api-key]
ELEVEN_LABS_MODEL_ID=eleven_flash_v2_5

# RIME 設定（RIME を選択した場合）
RIME_API_KEY=[your-api-key]
```

| 変数名                           | 説明                                            |
| ----------------------------- | --------------------------------------------- |
| `DHOP_ADDRESS`                | デジタルヒューマン プラットフォームのオーケストレーション接続先（wss）         |
| `DHOP_PIXELSTREAMING_ADDRESS` | Pixel Streaming の接続先 URL（未設定だと映像配信が起動しません）    |
| `DHOP_APIKEY`                 | プラットフォーム接続用 API キー                            |
| `DHOP_TENANTID`               | テナント ID                                       |
| `AZURE_REGION`                | Azure Speech Services のリージョン（例: `japaneast`）  |
| `AZURE_SPEECH_KEY`            | Azure Speech Services の API キー                |
| `ELEVEN_LABS_API_KEY`         | Eleven Labs の API キー                          |
| `ELEVEN_LABS_MODEL_ID`        | Eleven Labs のモデル ID（推奨値: `eleven_flash_v2_5`） |
| `RIME_API_KEY`                | RIME の API キー（RIME 利用時のみ、quay.io パスワードも別途必要）  |

{% hint style="warning" %}
`DHOP_PIXELSTREAMING_ADDRESS` や `ELEVEN_LABS_MODEL_ID` が抜けている、または旧い値のままだと、Pixel Streaming や TTS（音声合成）が起動しません。設定ミスは問い合わせの頻発領域のため、変更後は必ず `cat docker/docker-compose.env` で確認してください。
{% endhint %}

## ポートマッピング

| サービス             | デフォルトポート | 説明                |
| ---------------- | -------- | ----------------- |
| Flowise UI       | 3000     | ワークフロー自動化インターフェース |
| MiniPrem Monitor | 3001     | コンテナモニタリングダッシュボード |
| Grafana          | 3002     | メトリクス可視化          |
| vLLM API         | 8800     | LLM 推論エンドポイント     |
| Renny Health     | 8081     | デジタルヒューマンのヘルスチェック |
| RIME API         | 8100     | TTS（音声合成）サービス     |
| Prometheus       | 9090     | メトリクス収集           |
| Whisper API      | 9000     | STT（音声認識）サービス     |
| Redis            | 6379     | メッセージブローカー        |

{% hint style="info" %}
フルインストール（`docker-compose.full.yml`）は `network_mode: host` で動作するため、`ports:` の定義（`8000:8800`）は無視され、コンテナ内部の `--port 8800` がそのままホストの `8800` 番で待ち受けます。上表の vLLM API ポートは実態に合わせて `8800` としています。
{% endhint %}

## 複数の Renny インスタンス

複数の Renny コンテナを同時に実行するには、複数の Renny セットアップガイド を参照してください。

要点:

* 各インスタンスは一意のポートを必要とします
* 環境変数で設定します
* docker-compose のスケーリングまたは個別の設定を使用します

## GPU 設定

### NVIDIA GPU のセットアップ

1. **NVIDIA Container Toolkit のインストール**:

ドライバーの詳しいインストール手順は [NVIDIA ドライバーガイド](/dev/miniprem/nvidia-drivers.md) を参照してください。

```bash
# Add NVIDIA Container Toolkit repository
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
  sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
```

2. **GPU アクセスの確認**:

```bash
docker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi
```

3. **サービス用に GPU を設定**:

```yaml
# In docker-compose.yml
services:
  renny:
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
```

## モニタリング

### MiniPrem Monitor

モニタリングダッシュボードには <http://localhost:3001> でアクセスできます。

機能:

* リアルタイムのコンテナステータス
* CPU／メモリ／ディスク／ネットワークのメトリクス
* コンテナ操作（開始／停止）
* ライブパフォーマンスグラフ
* 自動インサイトとレコメンデーション

### Grafana ダッシュボード

詳細なメトリクス用（フルインストールのみ）:

* URL: <http://localhost:3002>
* デフォルト認証情報: admin/admin
* すべてのサービス向けに事前設定済みダッシュボード

## トラブルシューティング

### よくある問題

1. **サービスが起動しない場合**:

```bash
# Check logs
docker compose -f docker/docker-compose.yml logs

# Verify Docker daemon
docker ps

# Check disk space
df -h
```

2. **GPU が認識されない場合**:

```bash
# Verify NVIDIA runtime
docker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi

# Check Docker GPU configuration
docker info | grep nvidia
```

3. **ポートの競合**:

```bash
# Find process using port
lsof -i :3000

# Change port in docker-compose.yml or .env
```

4. **権限の問題**:

```bash
# Fix Docker socket permissions
sudo chmod 666 /var/run/docker.sock

# Add user to docker group
sudo usermod -aG docker $USER
```

### ログの確認

```bash
# All services
docker compose -f docker/docker-compose.yml logs

# Specific service
docker logs miniprem-renny

# Follow logs
docker logs -f miniprem-monitor

# Last 100 lines
docker logs --tail 100 miniprem-flowise
```

## サービスの更新

{% hint style="info" %}
**現在の推奨版タグ: `cr.uneeq.io/uneeq/renny-renderer:0.1428-6654b`**\
（[MiniPrem リポジトリ](https://github.com/uneeq-digital-humans/miniprem.git) の main ブランチにも同タグが pin 済みです。弊社でも g4dn/T4 + driver 580.82.09 の組み合わせで実際の会話動作を確認済みです。ただし自動E2Eスモークテストでの再検証、および Blackwell 系 GPU での実機検証はまだ完了していません。）
{% endhint %}

{% hint style="warning" %}
**アップデート前のご注意:**

* アップデート前に、設定ファイル（`docker/configuration.dat`・`docker/docker-compose.env`）と重要なデータのバックアップを必ず取得してください。
* 本番環境でのアップデートは、事前にテスト環境で動作確認を行ってください。
* アップデート中はサービスが一時的に利用できなくなります。事前に利用者へのダウンタイム告知を行ってください。
  {% endhint %}

### 更新方法（2通り）

#### 方法A: 既存ディレクトリで直接更新（推奨・ディレクトリ名が `miniprem` の場合）

```bash
cd ~/miniprem
./miniprem.sh stop
git pull origin main
```

`git pull` はリポジトリの main ブランチが現在 pin しているタグを取得するため、必ずしも上記「現在の推奨版タグ」box の値と一致するとは限りません。`git pull` 後は `docker/docker-compose.yml` の Renny イメージタグを確認し、box記載のタグと異なる場合は手動で書き換えて固定してください（書き換え方法は下記「特定バージョンへの固定」を参照）。その上で下記「最新イメージの取得」の手順で Harbor からイメージを pull → 再起動してください。

`install_miniprem.sh` を再実行すると、Default Install と Full Install をいつでも切り替え・アップグレードできます。構成変更が必要な場合はこちらも活用してください。

#### 方法B: クリーン新規インストール（旧ディレクトリ名が残っている場合）

2024〜2025年にインストールした環境では、ディレクトリ名が `miniprem2025` など旧名称のままのケースがあります。この場合は無理に `git pull` せず、以下の手順を推奨します。

```bash
# 1. 既存サービスを停止
cd ~/miniprem2025   # 旧ディレクトリ名に読み替え
./miniprem.sh stop

# 2. 旧ディレクトリを退避（削除しない。設定ファイル参照用に残す）
cd ~
mv miniprem2025 miniprem2025.bak-$(date +%Y%m%d)

# 3. 新規 clone
git clone https://github.com/uneeq-digital-humans/miniprem.git
cd miniprem

# 4. インストール実行
./docker/scripts/install_miniprem.sh
```

TTS / API キー等の設定値は、退避した旧ディレクトリの `docker-compose.env` を参照して入力してください。

{% hint style="warning" %}
**NVIDIA ドライバーの更新に注意:** どちらの方法でも、既存環境の NVIDIA ドライバーが 580 未満（535系・595-open系など）の場合、そのままではインストールが停止します（`scripts/prerequisites.sh` の必須チェック）。特に Ubuntu 24.04 の autoinstall は既定で 535系や 595-open を有効化するため、これに該当するケースが多いです。

事前に以下を実行すると、自動でドライバー更新・再起動まで完結します。

```bash
sudo bash docker/scripts/upgrade_nvidia_driver.sh --yes
```

このスクリプトのデフォルトターゲットは `580.159.03` ですが、**全デプロイメントで基本推奨されるのは `580.82.x` または `580.142`** です（`580.159.03` を含むそれ以外の 580 系は、本番投入前に NVENC の動作確認が必要です）。特定バージョンを指定してインストールしたい場合は `TARGET_NVIDIA_VERSION` を明示してください。

```bash
sudo TARGET_NVIDIA_VERSION=580.82.09 -E ./docker/scripts/upgrade_nvidia_driver.sh --yes
```

詳細な推奨バージョンとダウングレード手順は [NVIDIA ドライバー](/dev/miniprem/nvidia-drivers.md) を参照してください。`580.126.x` は全 GPU タイプで NVENC が壊れる既知の問題があるため避けてください。
{% endhint %}

### 最新イメージの取得

更新されたイメージを取得する前に、Harbor レジストリで認証されていることを確認してください。

```bash
# Verify Harbor authentication
docker login https://cr.uneeq.io --username 'robot$your-customer-name'

# Stop services
./miniprem.sh stop

# Pull updates from Harbor registry
docker compose -f docker/docker-compose.yml pull

# Verify pulled images
docker images

# Restart with new images
./miniprem.sh start
```

`docker images` を実行すると、新しくダウンロードしたイメージと、置き換え前の古いバージョンのイメージが両方表示されます。pull が成功していることを視覚的に確認してから restart に進んでください。

### アップデート後の Healthy 確認

アップデート完了後は、全コンテナが Healthy 状態になっていることを確認します。

```bash
# Check all containers are Healthy
docker compose -f docker/docker-compose.yml ps
```

正常時は `STATUS` 列に `Up X minutes (healthy)` と表示されます。Healthy にならないコンテナがある場合は、以下で個別のログを確認してください。

```bash
# All services logs
docker compose -f docker/docker-compose.yml logs

# Specific container logs
docker compose -f docker/docker-compose.yml logs [コンテナ名]
```

### 特定バージョンへの固定（手動タグ指定）

Harbor レジストリ移行前の旧構成（DockerHub 経由）で運用しているお客様や、特定バージョンへ固定・ダウングレードしたい場合は、`docker/docker-compose.yml` を直接編集してイメージタグを指定できます。

```yaml
# 変更前の例（旧推奨版）
image: cr.uneeq.io/uneeq/renny-renderer:0.1332-decd6

# 変更後の例（現在の推奨版）
image: cr.uneeq.io/uneeq/renny-renderer:0.1428-6654b
```

{% hint style="warning" %}
`renny` とバージョンタグの間のコロン（`:`）は必ず残してください。コロンを削除するとイメージ参照のフォーマットが壊れ、`docker compose pull` が失敗します。
{% endhint %}

編集後は以下の手順で反映します。

```bash
# Stop running containers
docker compose -f docker/docker-compose.yml down

# Pull the specified version
docker compose -f docker/docker-compose.yml pull

# Start with the new version
docker compose -f docker/docker-compose.yml up -d
```

### 古いイメージの削除（オプション）

Renny イメージは数 GB クラスで、アップデートを繰り返すとディスク容量を圧迫します。動作確認後に古いイメージを削除する場合は、以下のコマンドを使用します。

```bash
# 未使用イメージをすべて削除
docker image prune -a

# 特定のイメージのみ削除する場合
docker rmi [イメージID]
```

{% hint style="warning" %}
`docker image prune -a` は **同一ホスト上で使用中でないすべてのイメージ** を削除します。MiniPrem 関連イメージだけでなく、同じホストで動かしている他のアプリケーションの未使用イメージも巻き込んで削除される点に注意してください。ロールバック用に旧バージョンを残しておきたい場合や、他アプリのイメージに影響を与えたくない場合は、`docker rmi [イメージID]` で個別に削除してください。
{% endhint %}

### コンテナの再ビルド

```bash
# Force rebuild
docker compose -f docker/docker-compose.yml up -d --build

# Clean rebuild
docker compose -f docker/docker-compose.yml down
docker compose -f docker/docker-compose.yml up -d --build --force-recreate
```

## バックアップとリカバリ

### 設定のバックアップ

```bash
# Backup all configuration
tar -czf miniprem-backup-$(date +%Y%m%d).tar.gz \
  docker/configuration.dat \
  .miniprem_install_type \
  .env \
  docker/docker-compose.override.yml
```

### ボリュームのバックアップ

```bash
# List volumes
docker volume ls | grep miniprem

# Backup specific volume
docker run --rm -v miniprem_flowise_data:/data \
  -v $(pwd):/backup alpine \
  tar czf /backup/flowise-data.tar.gz /data
```

## セキュリティに関する考慮事項

1. **Harbor レジストリの認証情報**:
   * ロボットアカウントの認証情報を安全に保管してください
   * Harbor の認証情報は決してバージョン管理にコミットしないでください
   * 認証情報は `~/.docker/config.json` で自動的に暗号化されます
   * 推奨に従って認証情報を定期的にローテーションしてください
   * 本番環境では、ローカルの Docker 認証情報ではなく Kubernetes Secrets を使用してください
2. **認証情報の管理**:
   * `configuration.dat` を安全に保管してください
   * 本番環境では Docker secrets を使用してください
   * JWT トークンを定期的にローテーションしてください
3. **ネットワークセキュリティ**:
   * 本番環境では、ファイアウォールで `cr.uneeq.io:443` をホワイトリストに登録してください
   * カスタム Docker ネットワークを使用してください
   * ファイアウォールルールを実装してください
   * 外部アクセスには TLS を有効化してください
4. **リソース制限**:
   * docker-compose.yml でメモリ／CPU の制限を設定してください
   * リソース使用量をモニタリングしてください
   * レート制限を実装してください

## 次のステップ

* [Flowise ワークフローの設定](/dev/miniprem/services/flowise.md)
* [MiniPrem Monitor のセットアップ](/dev/miniprem/services/miniprem-monitor.md)
* 複数の Renny インスタンスのデプロイ
* Kubernetes への移行

## サポート

問題の報告とサポートについて:

* [トラブルシューティングガイド](/dev/miniprem/troubleshooting.md) を確認してください
* コンテナイメージへのアクセスの問題は [Harbor レジストリガイド](/dev/miniprem/harbor-registry.md) を参照してください
* [コンテナログ](/dev/miniprem/api/container-logs.md) を確認してください
* [サポート窓口](https://support.digitalhumans.jp/) までお問い合わせください
