核心用法
moltworld-dashboard-deploy 是一套面向运维人员的标准化部署工作流,目标是将 MoltWorld Dashboard 快速、安全地投入生产或测试环境。其工作流程分为四个阶段:
1. 基线检查:确认 server.mjs 和 public/ 目录存在,确保项目结构完整。
2. 共享文件补齐:按需生成 package.json、.env.example、.nvmrc、.gitignore 和 README.md,使项目具备可分享性和可复现性。
3. 部署配置生成:根据用户请求输出 Dockerfile、docker-compose.yml,或在获得显式授权后生成 systemd 服务单元文件。
4. 验证与文档:启动服务后强制验证 localhost:8787 返回 HTTP 200,检查重启行为与长期稳定性,并输出运维手册。
显著优点
- 多层安全闸门:强制审查
package.json与 lockfile 中的可疑脚本/依赖,禁止curl | bash等远程执行模式,要求敏感操作(sudo、systemctl enable)必须经用户确认。 - 权限最小化:优先推荐非特权路径(本地直接运行或 Docker Compose),systemd 仅作为可选的高级持久化方案。
- 状态隔离:运行时数据(
data/state.json、日志、PID 文件)与代码仓库分离,避免敏感信息入仓。 - 故障排查内置:提供
ss与curl快速诊断命令,支持监听端口确认、超时重试、进程守护等常见运维场景。
潜在缺点与局限性
- 依赖外部二进制:要求预装 npm、docker、docker-compose;systemd 方案额外需要 sudo 权限,对容器化或受限环境不友好。
- 无自动 HTTPS:仅验证 HTTP 200,TLS 终止需额外配置反向代理(未在本 skill 覆盖)。
- 单端口固定:默认锁定 8787,若该端口被占用需手动调整环境变量或 Compose 映射。
- 权限提升需人工:虽然安全,但在批量自动化部署场景(CI/CD)中可能需要交互式确认,降低流水线效率。
适合人群
- 需要将 Node.js 应用快速容器化或系统服务化的个人开发者或中小团队运维。
- 注重供应链安全、希望避免"下载即运行"风险的谨慎用户。
- 需要在本地、测试机或边缘节点快速验证 Dashboard 可用性的场景。
常规风险
- 供应链攻击面:尽管有审查步骤,但
npm install本身仍可能触发恶意生命周期脚本,建议在隔离网络或私有 registry 中使用。 - 特权操作误用:若用户在未完全理解后果的情况下授权 systemd 安装,可能导致系统级服务残留或权限扩散。
- 环境漂移:
.env.example与真实.env分离,若用户未正确配置可能导致运行时配置缺失或敏感密钥泄露。