Fedora デプロイ

Fedora 39+ には標準で podman が入っており、SkyView を動かすには docker-ce を明示的にインストールする必要があります。SELinux は既定で enforcing、firewalld も既定で有効なので、ボリュームラベルとポートの許可設定は欠かせません。

1. docker-ce をインストールする(podman ではなく)

Fedora は既定で podman ですが、SkyView のイメージと docker-compose ファイルは docker との互換性を前提にテストされています。podman でも大部分は動きますが、host network モードの挙動が微妙に異なるため、docker-ce への切り替えを推奨します:

bash
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

2. SELinux に対応する(重要)

ボリュームマウントには :Z または :z ラベルが必須

Fedora の SELinux は強制的に enforcing モードになっており、ボリュームに :Z(専用、推奨)または :z(共有)ラベルを付けない限り、コンテナからのデータボリュームへの書き込みは拒否されます。詳しくは compose の例を参照してください。

3. firewalld でポートを許可する

bash
sudo firewall-cmd --permanent --add-port=23406/tcp
sudo firewall-cmd --permanent --add-port=23515/udp
sudo firewall-cmd --permanent --add-port=23515/tcp
sudo firewall-cmd --permanent --add-port=23880/tcp
sudo firewall-cmd --reload

4. SkyView を起動する

Fedora 専用の compose テンプレートを別途用意しており(:Z の SELinux ラベルはすべて設定済み)、手動で変更する必要はありません:

ブラウザで compose.yml をダウンロード

Fedora 専用 · openvino バリアント · :Z ラベル設定済み · Web 管理画面からのオンラインアップグレードに対応

または SSH で wget を使う:

bash
mkdir -p ~/yunkan && cd ~/yunkan
wget https://yun-kan.com/compose/fedora.yml -O compose.yml
docker compose up -d

他のバリアントへの切り替え方

このテンプレートは既定で yunkan-openvino(Intel iGPU)を使います。CPU のみの場合は image: を yunkan-cpu に変更してください。NVIDIA GPU の場合は yunkan-cuda または yunkan-trt に変更し、deploy: のコメントを解除してください。どのバリアントを使う場合でも、:Z ボリュームラベルは必ず残してください(SELinux により必須です)。
yaml
name: yunkan

services:
  yunkan:
    image: registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-openvino:latest
    container_name: yunkan
    restart: always
    network_mode: host
    devices:
      - /dev/dri:/dev/dri
    volumes:
      - ./data:/app/data:Z
      - ./recordings:/app/data/recordings:Z
      - /etc/machine-id:/etc/machine-id:ro
      - /sys/class/dmi/id/product_uuid:/sys/class/dmi/id/product_uuid:ro
      - /var/run/docker.sock:/var/run/docker.sock:z
    environment:
      - TZ=Asia/Shanghai
      - SKYVIEW_SELF_CONTAINER_NAME=yunkan
compose.yml Fedora 版(重要な行に :Z を追加)

起動後、ブラウザで http://<サーバー IP>:23406/ を開き、セットアップウィザードへ進んでください。

5. よくある質問

コンテナ起動後、録画の書き込みで Permission denied になる

ほぼ確実に SELinux のボリュームラベルの問題です。docker compose down を実行し、compose の volumes 行末に :Z を追加してから docker compose up -d で再起動すれば解決します。/etc/machine-id と /sys/class/dmi/id/product_uuid は読み取り専用なのでラベルは不要です(誤って拒否されないよう :ro,Z を付けても構いません)。

Fedora での NVIDIA GPU

nvidia-container-toolkit には Fedora 用パッケージがあり、インストールすれば runtime: nvidia を使うだけで済みます。詳しくは NVIDIA 公式ドキュメントを参照してください。

アップグレード:すべての機能が利用可能です——Web 管理画面からのワンクリックアップグレード、または手動で docker compose pull && docker compose up -d。

このページは役に立ちましたか?