AKStream.Next · 文档中心

Docker 安装与日常管理

Docker 安装与日常管理

Docker 方式把 MySQL、AKStream.Next、内置媒体服务和 NodeAgent 组成一套持久化部署。它适合熟悉容器和端口映射的用户;如果你第一次接触 Docker,Linux 原生 systemd 安装通常更容易排障。

flowchart LR
    A[Docker Compose] --> B[MySQL]
    A --> C[AKStream.Next]
    A --> D[MediaServer]
    A --> E[NodeAgent]
    C --> F[宿主机 Config / Data 持久化]

运行前准备

docker version
docker info
docker compose version

必须使用 Docker Compose V2,也就是 docker compose。NodeAgent 需要访问 Docker socket 才能在主容器离线时执行固定生命周期动作;Docker socket 权限等价于宿主高权限,不能交给普通业务用户。

使用官方镜像安装

./Deploy/docker/akstream-next.sh install \
  --root /srv/AKStream.Next-Docker \
  --skip-build \
  --image akstream-next:<版本>

镜像名称和版本以交付清单为准。--skip-build 表示直接使用已经存在或能够从授权镜像仓库拉取的镜像。

持久化目录

默认根目录为 ~/AKStream.Next-Docker:

AKStream.Next-Docker/
├── Config/          主配置、Agent 配置和随机秘密
├── Data/            日志、安全密钥和运行数据
├── Recordings/      录像文件
├── MediaServer/     媒体服务配置和媒体数据
├── MySql/           MySQL 数据目录
└── compose.yml      当前编排文件

备份时至少覆盖 Config、MySql、Recordings 和业务需要的媒体数据。只备份镜像不能恢复系统。

常用命令

安装完成后,安装器会在 Docker 宿主机注册 akn 并记住当前部署根目录:

akn status
akn start
akn restart
akn stop

必须在 Docker 宿主机运行,不能进入 akstream-next 容器后执行。Windows Docker Desktop 应在最初执行安装脚本的 WSL 发行版中使用;详见 akn 全局管理命令。

查看容器和日志:

docker ps -a --filter name=akstream-next
docker logs --tail 200 akstream-next-mysql
docker logs --tail 200 akstream-next
docker logs --tail 200 akstream-next-agent
curl -fsS http://127.0.0.1:5800/health

更新

安装器会记住当前交付版本与镜像来源:

akn update

更新前备份持久化目录,记录当前镜像版本和数据库版本。容器回退与数据库回退必须作为同一个计划,不能只换回旧镜像。

端口和公网

WebUI/API 默认宿主端口为 5800;SIP、RTSP、RTMP、WebRTC、RTP 和 TURN 还需要按启用能力映射 TCP/UDP。公网 IP、NAT 与端口范围必须填写客户端真正可达的值。

不要把 MySQL 和媒体服务管理端口无条件暴露到公网。完整清单见 端口、域名、HTTPS 与 NAT。

恢复验收和卸载

verify-recovery 会让主容器进程退出并验证 restart policy,必然中断业务:

akn verify-recovery

运行 akn uninstall 后直接选择“保留 Config/MySQL/录像”或“完全清理整个部署根目录”;完整清理会再次确认。--purge --yes 仅用于已明确授权的无人值守操作。不要用手工删除容器代替备份和受控卸载。

下载完整包与离线导入

官网提供服务端已经校验并合并的完整安装包,支持断点续传。GitHub 单个 Release 附件必须小于 2 GiB,因此直接从 GitHub 获取大包时,请下载同名前缀的全部 .partNNN、.parts.json、.parts.sha256 和合并脚本,放在同一个目录。不要混用版本或架构。

Linux/macOS执行对应脚本,例如:

bash AKStream.Next-1.0.0.164-docker-linux-amd64.tar.gz.join.sh

Windows执行对应PowerShell脚本:

powershell -NoProfile -ExecutionPolicy Bypass -File .\AKStream.Next-1.0.0.164-docker-linux-amd64.tar.gz.join.ps1

脚本验证每卷和整包SHA后恢复归档,不覆盖已有目标。离线服务器可先在联网电脑下载并复制整套文件,合并后解压,运行 docker load -i akstream-next-image.tar,再按包内INSTALL.md安装。若包中有mysql-8.4-image.tar,也执行docker load -i mysql-8.4-image.tar;未附数据库镜像时,在相同架构联网机器执行docker pull mysql:8.4和docker save -o mysql-8.4-image.tar mysql:8.4,复制并核对SHA后导入。离线安装前必须确认应用和数据库镜像均可用。

模型权重和 CUDA/OpenVINO 大型加速库改为从 https://softnvr.com/#model-weights 独立下载;核验 SHA256 后解压,使用包内 compose.models.yml 或对应硬件覆盖只读挂载,不要求客户转换权重。宿主持久目录保存模型,容器升级不重新下载。完整卸载会清理受管向量库的默认或自定义路径;普通卸载保留数据。升级前备份Config、安全密钥、数据库、录像及向量目录。