PassNAT LogoPassNAT

开源监控系统Shinobi Docker部署指南,NAS一键启动CCTV视频监控解决方案

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Shinobi 是一款开源的CCTV监控解决方案,采用 Node.js 开发,具有多账户系统、WebSocket 流传输和直接MP4保存功能。它支持IP摄像头和本地摄像头的录制,为家庭和小型企业提供了一个强大而灵活的视频监控系统。

无论您是想要监控家中安全、办公室动态,还是建立小型安防系统,Shinobi 都能轻松胜任。它支持多种摄像头协议(ONVIF、RTSP、MJPEG等),几乎兼容市面上大多数的IP摄像头。系统内置数据库和视频存储管理,开箱即用,无需复杂配置。

项目地址:点我跳转

部署安装

如果您想在外网也能访问家中的监控系统,建议配置内网穿透服务。可以前往 帕斯内网穿透 注册账号并配置,具体操作方法可参考 内网穿透全平台上手攻略,让您随时随地都能查看监控画面。

最快速部署方案 - Docker 单命令启动

打开飞牛 NAS 或其他 NAS 设备的 Docker 管理界面。

点击 本地镜像 - 添加镜像 - 从 URL 添加,在镜像地址栏填入:

1registry.gitlab.com/shinobi-systems/shinobi:dev

等待镜像下载完成后,点击启动按钮启动容器。

容器配置详解

基本信息设置

勾选 开机自动启动,然后进入下一步进行端口设置。

端口映射配置

Shinobi 需要映射以下端口:

8080(Web界面访问端口)- 容器内部端口 8080,这是主要的访问入口

21(FTP服务端口,可选)- 用于文件传输功能

如果您的 NAS 上 8080 端口已被占用,可以修改宿主机端口为其他未使用的端口(如 8081、8082 等),但容器内部端口保持 8080 不变。例如可设置为 8081:8080

存储卷配置

Shinobi 需要两个持久化存储目录:

数据库存储 - 映射到容器内的 /var/lib/mysql

建议在 NAS 上创建文件夹:/mnt/data/ShinobiDatabase

用于存储数据库文件

应用数据存储 - 映射到容器内的 /home/Shinobi

建议在 NAS 上创建文件夹:/mnt/data/Shinobi

用于存储视频录像、配置文件、插件等数据

在 NAS 的存储卷配置中,分别将这两个文件夹映射到对应的容器路径。

环境变量配置

Shinobi 的环境变量已禁用,配置通过 conf.json 文件进行管理。

如果需要修改配置,可以在 NAS 上找到映射的 /mnt/data/Shinobi 文件夹

编辑其中的 conf.json 文件进行自定义配置

如果该文件不存在,Shinobi 会在容器启动时自动创建默认配置

SSL 证书配置(可选)

如需启用 HTTPS,需要在 /mnt/data/Shinobi/config/ssl 目录下放置:

server.key - SSL私钥文件

server.cert - SSL证书文件

如果启用了 SSL 但证书文件不存在,系统会自动生成自签名证书。

启动完成

容器创建成功后,在浏览器中访问:

1http://NAS_IP:8080

(如果修改了端口,请将 8080 替换为您设置的实际端口号)

此时您应该能看到 Shinobi 的登录界面,可以开始添加摄像头进行监控了。

常用操作命令

如需进一步管理容器,可使用以下命令:

查看容器日志:docker logs Shinobi

进入容器命令行:docker exec -it Shinobi /bin/bash

停止容器:docker stop Shinobi

重启容器:docker restart Shinobi

通过以上步骤,您已经成功部署了 Shinobi 监控系统。现在可以添加您的摄像头,开始享受专业级的视频监控体验了!