インストール

SkyView は単一の Docker イメージとして提供され、コマンド一つでサービスを起動できます。本章ではシステム要件、バリアントの選び方、インストールコマンド、ポート / ボリュームのマッピング、アップグレードとアンインストールについて説明します。

システム要件

項目最低推奨
オペレーティングシステムLinux カーネル ≥ 5.x(Ubuntu 22.04+ / Debian 12+)Ubuntu 24.04 LTS
CPU4 核 x86_64(または RK3588 ARM64)8 コア以上
メモリ4 GB8–16 GB(複数系統 + AI 検出)
ディスク64 GB(録画のみ)1 TB 以上の HDD(保持日数に応じて見積もる)
Docker20.10+最新安定版
GPU(任意)なしIntel 第 11 世代以降の内蔵 GPU / NVIDIA 30 シリーズ以降

アーキテクチャのサポート:x86_64 と RK3588

SkyView は主に x86_64 イメージを提供します;ARM プラットフォームでは現在Rockchip RK3588(NPU アクセラレーションの rknn バリアント、RK3588 デプロイ を参照)をサポートしています。その他の ARM デバイス(Raspberry Pi / RK3588 以外の Orange Pi モデル / Apple Silicon など)は現在サポートされていません。

イメージバリアントの選び方

AI 検出のハードウェアアクセラレーションは 4 つのバリアントに分かれており、それぞれ異なるハードウェアに対応します。バリアントを間違えても検出が遅くなる、または動作しなくなるだけで、他の機能(録画、再生、双方向通話)には影響しません。ワンライナー導入スクリプトが自動的にハードウェアを検出して適切なものを選んでくれます——下の表は手動で選びたい人向けの参考です。

イメージタグ対応ハードウェア説明
cpuCPU のみ汎用のフォールバック、性能は控えめ、2–4 系統・5fps なら許容範囲
openvinoIntel CPU / 内蔵 GPU / NPU第 11 世代 Core 以降、コストパフォーマンス最優先の選択
cudaNVIDIA GPUnvidia-container-toolkit のインストールが必要、GTX 16 シリーズ以上
trtNVIDIA GPU + VRAM 8GB 以上(最速)cuda よりさらに高速ですが、VRAM が 8GB 未満だと起動に失敗します。初回起動時に約 3 分間のモデル最適化が実行されます

ハードウェア別グレードの選び方(詳細リファレンス)

新しいマシンを購入する、または既存のマシンを評価する際は、CPU の性能に応じた下の 5 段階のグレードを参考にしてください。それぞれ推奨イメージ、安定して扱えるカメラ台数、快適に動作させられる AI 検出機能(有効化するかどうかは Web 管理画面で手動設定が必要)を示しています。

グレードハードウェア例カメラ台数推奨イメージひとことで言うと
エントリーCeleron J4125 / J4105 / J4025(旧世代 Atom)1 系統cpu型落ち・ジャンク機を格安で使い倒す選択肢——動けば十分
家庭用スターターN100 / N97 / N95(Alder Lake-N 4 コア)1–2 系統openvino家庭用の主流、コスパ重視のスタートグレード
高齢者見守りN150 / N250 / N3051–3 系統openvino転倒検出を有効にできる最低ライン
マルチカメラi5 / i7 第 11–13 世代 + Iris Xe 内蔵 GPU(80EU 以上)2–4 系統openvino多台カメラ + 全宅検出に対応できる妥当な上限
フル機能 / 商用NVIDIA GTX 1060 / RTX 2060 以上のディスクリート GPU4 系統以上cuda(VRAM 8GB 以上なら trt で約 2 倍高速化可能)ジェスチャー検出や赤ちゃんの泣き声検出など、すべての機能を有効にできる

各グレードで快適に動作する検出機能

グレードが高いほど、安定して有効化できる機能が増えます。低いグレードのマシンで機能を開きすぎると、推論がカメラのフレームレートに追いつかず、イベントを見逃す原因になります。下の表は各グレードで有効化を推奨する検出能力を示しています——✅ は有効化推奨、❌ はそのハードウェアでは非推奨を意味します。新規インストール時はデフォルトで物体検出のみが有効になっており、それ以外は Web 管理画面 → 設定 → 検出 で必要に応じて手動で有効化してください。

検出機能エントリー J4125家庭用 N100高齢者見守り N150マルチカメラ Iris Xeフル機能 NVIDIA
動作検出✅✅✅✅✅
顔認識✅✅✅✅✅
物体検出(人物 / 車両 / 動物など)❌✅✅✅✅
転倒検出❌❌✅✅✅
ナンバープレート認識❌❌❌✅✅
ジェスチャー検出❌❌❌❌✅
赤ちゃんの泣き声検出❌❌❌❌✅

最低でもサブストリームの設定を推奨

AI 検出をサブストリーム(640x360 / 480p)で行うと、メインストリーム(1080p)に比べて CPU 使用量を 5–10 倍節約できます。ほとんどの ONVIF カメラにはサブストリームがあります。詳しくは カメラの追加 を参照してください。

カメラが多いときは重要でない機体の検出をオフに

5 台のカメラのうち重要な位置(玄関 / リビング)は 2 台だけで、残りの 3 台は録画のみで検出はしない、というように分けます。こうすれば N100 でも安定して動作します——処理能力を重要な位置に集中させましょう。

ワンライン導入(推奨)

1 行のコマンドを実行するだけで、スクリプトが自動的にハードウェアを検出し、最適なイメージバリアントを選んで、イメージを取得し、コンテナを起動します。所要時間は全体で 5–15 分程度です(ネットワーク状況による)。

bash
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash

実行前にスクリプトの中身を確認したい

スクリプトを bash にパイプするのは業界の一般的なやり方ですが、最も安全な方法ではありません。事前に確認したい場合は、まず curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh -o install.sh でダウンロードして cat install.sh で中身を確認してから bash install.sh を実行してください。あるいは --detect-only を付けると、実際にはデプロイせずハードウェアの検出と推奨バリアントの表示だけを行います。

スクリプトが行うこと:

  • システムが Linux x86_64(または RK3588 ボード)で、Docker がインストール済みであることを確認
  • 23406 / 23880 / 24214 / 23515 などのポートが空いているか確認
  • ハードウェアを検出:NVIDIA GPU(VRAM 容量を含む)/ Intel 内蔵 GPU / Intel NPU
  • cpu / openvino / cuda / trt の中から最適なイメージバリアントを自動選択
  • イメージを取得(デフォルトでは Aliyun から)+ docker-compose ファイルを作成 + 強力なランダムシークレットを自動生成
  • コンテナを起動し、ヘルスチェックが通るまで待機(約 60 秒)
  • ブラウザでアクセスする URL を出力(例:http://192.168.1.10:23406/)

スクリプトはシステムに手を加えません

スクリプトは Docker を自動インストールすることはなく、NVIDIA ドライバや nvidia-container-toolkit もインストールしません。これらの前提条件が不足している場合、スクリプトはそこで停止し、お使いのディストリビューション向けのインストールコマンドを提示します。自分でそれを実行してから、スクリプトを再実行してください。

よく使うオプション

オプション用途
--variant cpu/openvino/cuda/trtイメージバリアントを強制指定し、スクリプトの自動選択を使わない
--detect-onlyハードウェアの検出とバリアントの推奨のみを行い、実際にはデプロイしない
--offline image.tar.gzオフラインパッケージでデプロイ(インターネット非接続環境向け)
--data-dir /path状態ディレクトリをカスタム指定(データベース / cookies / ログ、デフォルトは ~/skyview/data)
--recordings-dir /path録画を大容量ディスク / NAS へ個別に指定(デフォルトは ~/skyview/recordings、data と同階層。録画は TB 級に達することもある)
--registry <url>プライベートイメージレジストリに切り替える
--version 0.6.0指定バージョンを取得(デフォルトは latest)
-y または --yes非対話モード
bash
# 推奨されるバリアントだけを確認し、デプロイはしない
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash -s -- --detect-only

# trt バリアントを強制指定し、対話をスキップ
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash -s -- --variant trt -y

# オフラインデプロイ(イメージの tar.gz を事前にマシンへ scp しておく)
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh -o install.sh
bash install.sh --offline /path/to/skyview-image.tar.gz
よく使う例

パブリックドメインでのアクセスが必要な場合

前段に Caddy / Nginx を置いて HTTPS 終端 + カスタムドメインを使う場合、スクリプトは対話形式でドメインとプロトコル(http/https)を尋ね、自動的に設定へ書き込みます。純粋な LAN デプロイの場合は N を選択し、ブラウザで http://<サーバー IP>:23406 にアクセスするだけです。

プラットフォーム別デプロイ(お使いの機器を選択)

ワンライナースクリプトは汎用的な Linux + Docker 環境に最も便利ですが、NAS、HA OS、PVE などのプラットフォームにはそれぞれ独自のコンテナ管理 UI、ネットワークモード、iGPU パススルー方式、既知の落とし穴があります。以下によく使われる対象プラットフォームごとの専用チュートリアルを用意しました。各プラットフォーム固有の compose ファイル、UI 上のデプロイ手順、ファイアウォール設定、よくある質問を含みます:

  • Synology DSM 7.2+ — Container Manager + Intel 内蔵 GPU 搭載機種(DS920+ / DS423+ / DS224+ など)
  • Unraid 6.12+ — Compose Manager + Intel GPU TOP / NVIDIA Driver plugin
  • fnOS — Debian 12 ベース + N100/N305 内蔵 iGPU
  • UGREEN UGOS Pro — x86 機種(DXP2800/DXP4800/DXP6800 など)
  • TrueNAS Scale 24.10+ — Custom App YAML + ZFS データセットによる永続化
  • Ubuntu / Debian — apt + docker compose v2、最もクリーンなデプロイ経路
  • Fedora 39+ — dnf docker-ce + SELinux ボリュームラベル + firewalld での許可設定
  • Proxmox VE LXC — privileged LXC + Intel iGPU パススルー(家庭用 N100 / N305 の PVE ユーザーに最適)
  • Home Assistant OS アドオン — SkyView リポジトリを追加してワンクリックで yunkan / yunkan-openvino アドオンをインストール
  • RK3588 ボード — Rockchip NPU アクセラレーションによる低消費電力の ARM 小型ボックス(Orange Pi 5 / Radxa Rock 5 など);4GB ボード推奨、8G 以上は実験的

お使いのプラットフォームがない場合は?

Ubuntu / Debian のチュートリアルは実質 Linux ディストリビューションの 99% をカバーしています(CentOS Stream / Rocky / Arch / openSUSE などは apt install を対応するパッケージマネージャーに置き換えるだけです)。SELinux 系(CentOS / Rocky / Alma)は Fedora チュートリアルの :Z ボリュームラベルの扱いを参考にしてください。

手動デプロイ(上級者向け)

デプロイの過程を自分で一歩ずつコントロールしたい場合は、以下の 4 ステップに従ってください。ワンライナースクリプトは、本質的にこれらのコマンドを自動化したものです。

  1. 1

    イメージを取得

    上記 4 つのバリアントのいずれかを選びます:

    bash
    docker pull registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cpu:latest
  2. 2

    データ / 録画ディレクトリを作成

    小さな状態(データベース / cookies / ログ)は data/ に置き、録画(TB 級に達することもある)は同階層の recordings/ に分けて配置します。これにより大容量ディスクや NAS を個別に指定しやすくなります。

    bash
    mkdir -p ~/skyview/data ~/skyview/recordings && cd ~/skyview
  3. 3

    コンテナを起動

    host ネットワークを使うことで、カメラが宿主機のポートに直接アクセスでき、NAT による映像品質への影響を避けられます。ライセンスのバインドには /etc/machine-id と product_uuid の bind-mount が必要です。省略しないでください。

    bash
    docker run -d --name yunkan --restart=always \
      --network host \
      -v $(pwd)/data:/app/data \
      -v $(pwd)/recordings:/app/data/recordings \
      -v /etc/machine-id:/etc/machine-id:ro \
      -v /sys/class/dmi/id/product_uuid:/sys/class/dmi/id/product_uuid:ro \
      registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cpu:latest
  4. 4

    ブラウザを開く

    初回アクセス時は /setup ウィザードに移動します。続きは 初回起動 の章を参照してください。

    http://<サーバー IP>:23406

ハードウェア情報は bind-mount が必須

ライセンスはこのマシンのハードウェアにバインドされます。data だけをマウントしてこの 2 つのファイルをマウントしないと、次回コンテナを再作成したときにハードウェアフィンガープリントが変わり、ライセンスが無効になります。

ポートとボリュームのマッピング

SkyView は host ネットワークモードで動作し、すべてのポートは宿主機に直接バインドされます。本番用のポートにはいずれも 2xxxx 番台への非標準的なオフセットが加えられており、既存の nginx(80/443)、redis(6379)、その他のサービス(8080/8554/8888)との衝突を避けています。

ポート用途開放は必須?
23406 / TCP管理画面 + アプリ API + ライブ配信必須
23515 / UDP + TCP低遅延のライブ映像チャネル推奨。開けないと HLS(約 2.5 秒)に降格します
23880 / TCPRTSP 出力(VLC / サードパーティ NVR 用)任意
23443 / TCPパブリック直結(HTTPS)。既定では無効外部アクセスが必要なときだけ
24214 / TCP内部ストリーミングサービス不要
コンテナ内パス用途推奨
/app/dataデータベース / 設定 / cookies / ログなどの小さな状態マウント必須。コンテナをまたいで保持されます
/app/data/recordings録画(TB 級に達することもあり、/app/data の下にネストしてマウント)マウント必須。大容量ディスクや NAS を個別に指定可能。モデルはイメージに内蔵済みのためマウント不要です
/etc/machine-idハードウェアフィンガープリント 1/2マウント必須(読み取り専用)
/sys/class/dmi/id/product_uuidハードウェアフィンガープリント 2/2マウント必須(読み取り専用)

環境変数リファレンス

以下の環境変数はすべて任意です。host ネットワークの標準構成では設定不要で、ブリッジネットワーク・リバースプロキシ・内部シークレットの固定化といった高度な構成でのみ使います。compose ファイルの environment: セクション(または各 NAS プラットフォームの環境変数フォーム)で設定します。

環境変数デフォルト用途
SKYVIEW_WEBRTC_EXTERN_IPSLAN IP を自動検出ライブ映像(WebRTC)で外部に通知する IP / ホスト名(カンマ区切り)。ブリッジネットワークや多段 NAT でライブ映像に接続できないときに設定
SKYVIEW_PUBLIC_PORT23406クライアントが実際に Web 管理画面へアクセスするポート。ブリッジネットワークで 23406 を別のホストポートへマッピングする場合のみ設定。未設定だと共有リンクや LAN 検出が誤ったポートを案内します
SKYVIEW_PUBLIC_TCP_PORT無効外部直接アクセス用の HTTPS ポート。通常は Web 管理画面で設定します。環境変数で設定するとそちらが優先され、Web 管理画面の項目はロックされます
SKYVIEW_PUBLIC_TLS_CERT / SKYVIEW_PUBLIC_TLS_KEY自動発行外部直接アクセスに自前の証明書を使う場合:コンテナ内の証明書チェーン / 秘密鍵 PEM のパス。必ずペアで設定
SKYVIEW_MEDIA_SECRET初回起動時に自動生成内部メディア API のシークレット(32 バイト 16 進)。固定値が必要な高度な連携でのみ設定
SKYVIEW_MDNS_ENABLED10 で LAN への通知(yun-kan.local)を無効化。ホストが既に独自の mDNS サービスを動かしている場合に使用
SKYVIEW_DB_TYPE など(_SOCKET または _HOST / _PORT、加えて _USER / _PASSWORD / _NAME)未設定デプロイテンプレートからデータベースを固定します(データベースコンテナを同梱するオーケストレーション向け)。設定すると環境変数が唯一の設定源になり、ウィザードはデータベース手順をスキップし、設定ページのオンライン移行は無効になります

アップグレード

最も簡単:ウェブコンソールからのワンクリック更新。 ブラウザで ウェブコンソール → 設定 → システム → 更新の確認 を開き、新バージョンが見つかったら「アップグレード」をクリックするだけ——システムが自動的に新しいイメージを取得してコンテナを再作成します(事前にデータベースを自動バックアップし、新バージョンが起動しない場合は自動でロールバック)。数分後にページが新バージョンへ自動的に再接続します。

SSH で自分で手動アップグレードすることもできます:

bash
cd ~/skyview
docker compose -f compose.yml pull
docker compose -f compose.yml up -d

あるいはワンライナースクリプトを再実行します(-y を付ければ確認なしで進みます):

bash
curl -fsSL https://cdn.yun-kan.com/yunkan-install.sh | bash -s -- -y

データは自動的に移行されます

データベースのスキーマアップグレードはコンテナ起動時に自動で完了し、手作業は不要です。アップグレード前に tar -czf data-backup-$(date +%F).tar.gz data/ でバックアップしておくことをお勧めします。

アンインストール

bash
cd ~/skyview
docker compose -f compose.yml down
docker rmi registry.cn-hangzhou.aliyuncs.com/yunkan/yunkan-cpu:latest
# 録画 / データベースは保持されます。完全に削除する場合は:
rm -rf ~/skyview

data ディレクトリを削除すると復元できません

中にはデータベース、顔ライブラリ、録画、115 のログイン情報が含まれています。削除する前に、必要な録画がすべてダウンロードまたはクラウドへアップロード済みであることを確認してください。

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