Remote device management platform with NPS, SOCKS, Web gateway and WebSSH
5.1K
面向客户内网设备的远程管理平台。本项目基于重构版 NPS,通过其 HTTPS/HMAC-SHA256 管理 API 接入既有 Client 和 SOCKS隧道,提供设备发现、隔离 Web 访问、WebSocket、WebSSH、权限控制与访问审计。
v2.1.1vampirerune/device-management-platformCHANGELOG.mdVAMPIRE0924/NPS 提供内网穿透节点、Client 和隧道运行能力;设备管理平台在其上提供项目、设备、用户、授权会话与审计等管理层能力。
main 分支的 API.md 和 API_SIGNING_EXAMPLES.md 为准。要求 Docker Engine 24+ 与 Docker Compose v2。生产环境建议固定完整版本号:
git clone https://github.com/VAMPIRE0924/device-management-platform.git
cd device-management-platform
export DMP_IMAGE=vampirerune/device-management-platform:v2.1.1
docker compose pull
docker compose up -d
docker compose ps
容器变为 healthy 后访问 http://<容器IP>/,首次打开页面时创建系统管理员。平台会自动生成内部 API 令牌、SQLite 数据库和凭据加密主密钥,不需要手工设置初始化令牌。
Compose 默认不映射宿主机端口:容器监听 HTTP 80,配置证书后同时监听 HTTPS 443。部署环境应为容器网络配置可达路由;确实无法直达容器 IP 时,再自行增加端口映射。
正式环境需要分别配置面板域名与 Web 反代泛域名,例如:
dmp.example.com*.console.example.com两者形成严格的 Host 隔离边界。面板域名不承载目标设备页面,只有平台为有效访问会话分配的随机反代子域名才能进入 Web 网关。外部反向代理必须保留原始 Host、X-Forwarded-Proto 和 WebSocket Upgrade 请求头。
创建访问会话时,平台按需启动对应 SOCKS隧道。Web、WebSocket 与 WebSSH 的真实流量会更新活动时间;平台和 NPS 均按最长 30 分钟无流量回收。拨号失败或会话过期后不会擅自恢复旧授权。
| Docker 标签 | 用途 | 建议 |
|---|---|---|
v2.1.1 | 当前固定正式版本 | 生产环境推荐 |
main | 最新正式版本的滚动标签 | 接受人工拉取时跟随 |
dev | dev 分支的开发测试镜像 | 不得连接生产数据目录 |
正式镜像包含 linux/amd64 与 linux/arm64。项目不发布 latest 标签,避免部署端在未明确选择渠道时自动跨版本升级。
docker pull vampirerune/device-management-platform:v2.1.1
docker buildx imagetools inspect vampirerune/device-management-platform:v2.1.1
/data 持久化 SQLite 数据库、内部 API 令牌、凭据主密钥和网页覆盖配置;只允许单实例写入同一数据目录。/data 与外部证书、密钥。升级固定版本时修改 DMP_IMAGE 后重新创建容器:
export DMP_IMAGE=vampirerune/device-management-platform:v2.1.1
docker compose pull
docker compose up -d
docker compose ps
docker build \
--build-arg VERSION=v2.1.1 \
--build-arg VCS_REF="$(git rev-parse HEAD)" \
--build-arg BUILD_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
-t device-management-platform:v2.1.1 .
开发环境使用 Go 1.27.3、Node.js 22 和 Docker。完整检查入口:
cd frontend && npm ci && cd ..
./scripts/verify.sh
./scripts/acceptance-local.sh
./scripts/acceptance-container.sh
验证包含 Go race 测试、静态检查、依赖漏洞检查、前端类型与 ESLint、渲染契约、单二进制构建、本地/容器黑盒、备份恢复和容器漏洞扫描。
仓库未声明开源许可证。未经许可,不授予复制、修改或再分发权利。
Content type
Image
Digest
sha256:c3f571507…
Size
11.5 MB
Last updated
5 days ago
docker pull vampirerune/device-management-platform:dev