部署与安全

装在哪、数据放哪、外网怎么开,都在这一页说清楚。

🐳 Docker 部署(推荐)

核心就两件事:端口映射、数据目录挂载。不用 FUSE、不用 privileged、不用 host 网络。

① 通用 Docker(群晖 / 威联通 / Ubuntu / 绿联…)

services:
  zyjkw:
    image: crpi-dbr3innzupa5risf.cn-hangzhou.personal.cr.aliyuncs.com/zyjkw/zyjkw:latest
    container_name: zyjkw
    restart: unless-stopped
    ports:
      - "10001:10001"          # HTTP
      - "10002:10002"          # HTTPS(证书放 data/certs)
    environment:
      - TZ=Asia/Shanghai
      # - WJK_HTTP_PORT=10001   # 改容器内端口时解开,ports 左边也要跟着改
      # - WJK_PUBLIC_PORT=10001 # 仅用于页面显示"外部端口"
    volumes:
      - ./data:/data                     # 数据、授权、缓存、日志都在这里
      # - /vol1/1000/网盘挂载:/mnt/cd2   # 要用「挂载中转」才需要
    logging:                             # 防止日志把磁盘写满
      driver: json-file
      options: { max-size: "10m", max-file: "3" }

在 compose 目录执行 docker compose up -d,浏览器打开 http://NAS_IP:10001,首次会让你创建管理员账号。

② 飞牛 NAS 版本(差别只有路径)

飞牛的 compose 工作目录不确定,一律用绝对路径,不要写 ./data:

services:
  zyjkw:
    image: crpi-dbr3innzupa5risf.cn-hangzhou.personal.cr.aliyuncs.com/zyjkw/zyjkw:latest
    container_name: zyjkw
    restart: unless-stopped
    ports:
      - "10001:10001"
      - "10002:10002"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /vol1/1000/Docker/zyjkw/data:/data
      - /vol1/1000/网盘挂载:/mnt/cd2       # 可选
    logging:
      driver: json-file
      options: { max-size: "10m", max-file: "3" }
飞牛注意:路径区分大小写——/vol1/1000/Docker(大写 D)和 docker 是两个不同目录,写错会在一份全新空目录里启动:机器码变化、授权失效、任务清空。
两种版本别混用:飞牛 fpk 版已经能一键更新;偏好 Docker 就固定用一份 compose。两个同时跑会抢端口。
飞牛 fpk 版改端口:不在软件页面改,去 飞牛应用中心 → 该应用 → 应用设置 → 运行设置,改完飞牛会自动重启应用;软件内「服务端口」页只展示当前值。

③ 要不要开 host 网络?

模式适合代价
bridge(默认,推荐)99% 的场景;端口映射清晰,隔离好,能多实例容器内访问宿主服务要用 host.docker.internal 或宿主 IP
host容器里要直接用宿主 127.0.0.1 的服务,或做局域网发现/UPnP不能再写 ports;容器端口即宿主端口,容易和飞牛自带服务冲突;隔离变弱

结论:默认用 bridge。本软件不需要 host 网络;只有当你确认容器内必须访问宿主本地服务时才切 host,切换写法:

services:
  zyjkw:
    image: crpi-dbr3innzupa5risf.cn-hangzhou.personal.cr.aliyuncs.com/zyjkw/zyjkw:latest
    network_mode: host          # 开了 host 就删掉 ports 段
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./data:/data

④ 可选增强(按需加)

需求加什么
核显硬件转码(4K HEVC 转 1080P 更快、CPU 占用低) devices: ["/dev/dri:/dev/dri"] + group_add: ["render","video"]
TMDB 访问困难(部分网络 DNS 被污染) extra_hosts: ["api.tmdb.org:<可用IP>","image.tmdb.org:<可用IP>"];一般不需要,程序内置了多域名与中转兜底
自定义心跳地址(企业内网)WJK_HEARTBEAT_URL=http://内网地址/v1/heartbeat
限制内存 / CPUmem_limit: 2g、cpus: "2.0"
健康检查healthcheck: { test: ["CMD","python","/app/healthcheck.py"], interval: 60s }

⑤ 常用运维命令

docker compose logs -f --tail=100        # 看日志
docker compose pull && docker compose up -d   # 升级(数据不动)
docker exec -it zyjkw sh                 # 进容器排查
tar -czf data_backup_$(date +%Y%m%d).tar.gz data   # 备份数据目录
docker compose down && docker compose up -d       # 重启容器
升级不会丢数据:所有状态都在 data/(账号、授权、任务、缓存、证书)。换机器时把这个目录整份拷走即可;容器/虚拟机请保留 data/license/.license_identity,否则机器码会变。

🧩 飞牛应用(fpk)

  1. 飞牛「应用中心 → 手动安装」,选 zyjkw-monitor_x.y.z.fpk
  2. 装完在应用列表点「打开」,首次同样创建管理员
  3. 之后可在应用内点「立即更新」:下载 → 校验 sha256 → 停应用 → 安装 → 启动
升级保护:安装包校验不过不会动现有版本;安装失败会重试 3 次,仍失败自动回滚到上一版。数据在应用的数据目录里(安装时可选),卸载不会删。

🪟 Windows 桌面版

💾 数据目录与迁移

路径内容能不能删
data/data_users.json账号与密码哈希不能删(删了要重新建管理员)
data/license/授权码 + 实例标识不能删;换机器会变机器码
data/server_config.json端口、更新渠道等本机配置不能删
data/*.json任务、日志、状态删了任务会丢
data/cache/ data/remux/ data/strm/缓存、转封装、生成的 STRM可以删,会自动重建

迁移:整目录拷走即可;Docker 里就是 ./data。CPU 架构变化(x86 ↔ ARM)需要重新拉对应镜像。

🌐 端口与反向代理

🛡 安全

外网访问前请先看「安全」页:暴露面收敛、加固清单、出问题怎么回滚。

打开安全说明 →