fnOS Deployment

fnOS is based on Debian 12 with docker as a first-class citizen. This page covers two installation methods: one-click install by uploading the fpk to the App Center (easiest), or manual docker compose deployment (Intel models like the N100 / N305 / N355 can use iGPU acceleration).

ModelCPURecommended variant
fnOS official flagshipIntel N100 / N305 / N355openvino
DIY build11/12/13th-gen i3-i5 + Iris Xeopenvino
DIY buildNVIDIA GTX/RTXcuda or trt (VRAM ≥ 8GB)
CPU onlyNo iGPUcpu

2. Which method to choose

MethodEntry pointBest foriGPU / GPU acceleration
fpk one-click installApp Center → Local install → upload fpkRegular home users · zero fussNot yet (inference on CPU)
docker composedocker → Custom project → upload composeWant iGPU / GPU acceleration · need flexible configYes (/dev/dri passthrough)

How to choose

If you want zero fuss and an N100 / N305 can keep up on CPU, go with the fpk one-click install. If you want the iGPU / GPU to actually accelerate inference, or you need to customize compose, use the docker compose method below. Because of how fnOS app packages work, the fpk's compose template is static and cannot inject /dev/dri device passthrough, so iGPU acceleration is only available via docker compose.

Download fnOS app package yunkan-latest.fpk

fnOS App Center package · upload and install · the image is pulled online during install

  1. 1

    Download the fpk

    Click the button above to download yunkan-latest.fpk to your computer (or download it straight to the NAS using fnOS's built-in browser).

  2. 2

    Open App Center → Local install

    fnOS desktop → App CenterLocal install in the top-right (some versions call it "Manual install").

  3. 3

    Upload the fpk to install

    Select the yunkan-latest.fpk you just downloaded and confirm the upload; fnOS will start parsing the package.

  4. 4

    Fill in the install wizard

    The wizard collects 3 fields: variant (cpu / openvino, default openvino), image version (default latest), and public host (only for reverse-proxy public deployments — leave blank on LAN).

  5. 5

    Wait for automatic deployment

    fnOS automatically runs docker pull + creates the shared data folders + docker compose up. When it finishes, a SkyView icon appears on the desktop. The first image pull takes a few minutes depending on your network.

  6. 6

    Enter the Setup wizard

    Click the SkyView icon, or open http://<fnOS IP>:23406/ in a browser, to go through the Setup wizard and create the admin account.

Where the data lives

The fpk automatically creates two fnOS shared folders: yunkan-data (database / config / logs) and yunkan-recordings (recordings). Both are visible in fnOS File Manager and over SMB; the recordings folder can be moved to a larger volume in fnOS system settings without touching the state folder.

Two limitations of the fpk method

(1) It does not mount the /dev/dri iGPU, so inference runs on CPU (the openvino variant falls back to the CPU path); (2) it does not support the NVIDIA cuda / trt variants. For iGPU / GPU acceleration, use the docker compose method below instead.

4. Method 2: Manual docker compose deployment (iGPU acceleration available)

This uses fnOS "docker → Custom project" with /dev/dri passed through directly in the compose file, letting Intel models like the N100 / N305 actually use the iGPU for inference; it also makes future config changes easy.

4.1 Prerequisites

  1. 1

    Confirm docker is installed

    fnOS console → App Center → docker (preinstalled); or docker --version over SSH should print output

  2. 2

    Create the data directory

    fnOS File Manager → create yunkan/ under /vol1/1000/, or mkdir -p /vol1/1000/yunkan over SSH (/vol1/1000/ is fnOS's conventional user-data path)

4.2 Get the compose file

Pick any one of three ways:

Download compose.yml

fnOS template · openvino variant · online upgrade via the web console

Or wget over SSH:

bash
ssh <username>@<fnOS IP>
cd /vol1/1000/yunkan
wget https://yun-kan.com/compose/fnos.yml -O compose.yml

Or paste the minimal version

You can also use the fnOS Web UI → docker → Custom project → YAML editor and paste the snippet below.
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:
      - /vol1/1000/yunkan/data:/app/data
      - /vol1/1000/yunkan/recordings:/app/data/recordings
      - /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
    environment:
      - TZ=Asia/Shanghai
      - SKYVIEW_SELF_CONTAINER_NAME=yunkan
compose.yml (minimal)

4.3 Start SkyView

Option A · SSH:

bash
cd /vol1/1000/yunkan
docker compose up -d
docker logs -f yunkan

Option B · Web UI: fnOS console → docker → Projects → New → upload compose.yml → start.

After it starts, open http://<fnOS IP>:23406/ in the browser to enter the Setup wizard.

5. Ports and firewall

fnOS uses 8088 for its own web panel by default; SkyView's 23406 family doesn't conflict. fnOS doesn't block ports by default, so LAN access works directly. If you expose it publicly, always go through a reverse proxy + HTTPS.

6. FAQ

iGPU not working

Over SSH on fnOS, ls /dev/dri/ should show card0 + renderD128. If not, check dmesg | grep i915 to see whether the driver loaded; some BIOSes disable the iGPU, so enter the BIOS and enable Internal Graphics. Note: the fpk one-click install does not pass through the iGPU — use the docker compose method for iGPU acceleration.

Upgrading: for fpk installs, upgrade directly through the fnOS App Center (or reinstall with a new image version in the wizard); for docker compose installs, upgrade with one click in the web console, or manually with docker compose pull && docker compose up -d.

fnOS Deployment - SkyView Docs