Fedora Deployment

Fedora 39+ ships podman by default, so running SkyView requires explicitly installing docker-ce. SELinux is enforcing by default and firewalld is on by default, so volume labels and port rules are essential.

1. Install docker-ce (not podman)

Fedora defaults to podman, but the SkyView image and docker-compose files are tested against docker compatibility. podman is mostly compatible, but host network mode behaves slightly differently, so we recommend switching to 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. Handle SELinux (critical)

Volume mounts must carry the :Z or :z label

Fedora SELinux is forced into enforcing mode, so the container is denied writing to data volumes unless the volume is labeled :Z (private, recommended) or :z (shared). See the compose example.

3. Open firewalld ports

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

4. Start SkyView

We maintain a dedicated compose template for Fedora (with all :Z SELinux labels preconfigured), so there's nothing to change by hand:

Download compose.yml

Fedora template · openvino variant · :Z labels preconfigured · online upgrade via the web console

Or wget over SSH:

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

How to switch to another variant

This template defaults to yunkan-openvino (Intel iGPU). For CPU only, change image: to yunkan-cpu; for NVIDIA GPU, change it to yunkan-cuda or yunkan-trt and uncomment deploy:. Whichever variant you use, the :Z volume labels must be kept (SELinux requires it).
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 version (:Z added on the key lines)

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

5. FAQ

Permission denied writing recordings after the container starts

Almost certainly a SELinux volume-label issue. docker compose down, add :Z to the end of the compose volumes lines, then docker compose up -d to restart. /etc/machine-id and /sys/class/dmi/id/product_uuid are read-only and need no label (you can add :ro,Z to prevent spurious denials).

NVIDIA GPU on Fedora

nvidia-container-toolkit has a Fedora package; after installing it, runtime: nvidia works. See the NVIDIA official docs.

Upgrading: fully supported — one-click upgrade in the web admin, or manually docker compose pull && docker compose up -d.

Fedora Deployment - SkyView Docs