核心功能与用法
moltworld-dashboard-deploy 是一套标准化的 Node.js 应用部署技能,专为 MoltWorld Dashboard 提供从开发到生产的完整脚手架。其核心工作流涵盖:
1. 基础环境校验:确认 server.mjs 与 public/ 目录存在
2. 共享配置生成:自动补全 package.json、.env.example、.nvmrc、.gitignore 及 README.md
3. 多模式部署支持:
4. 健康验证:强制检查 HTTP 200 响应于 localhost:8787
5. 运维文档:内置运行手册与故障排查命令
- 本地开发:
npm run start直接启动 - Docker 单容器:通过 Dockerfile 构建镜像
- Docker Compose:编排多服务依赖
- systemd 服务:
moltworld-dashboard.service实现系统级守护
显著优点
- 部署标准化:消除"在我机器能跑"问题,强制约定端口、环境变量与日志管理
- 安全基线内置:默认排除敏感文件(
.env、状态数据、日志)出版本控制 - 运维友好:提供
ss/curl快速诊断命令,支持 systemd 自动重启策略 - 多场景覆盖:开发测试、单机容器、生产系统服务三种模式一键切换
潜在局限与风险
- 端口硬编码:8787 端口若被占用需手动调整,缺乏动态端口分配机制
- Node 版本锁定:
.nvmrc指定版本可能滞后于运行时实际需求 - 无 SSL/TLS 配置:默认 HTTP 传输,生产环境需额外配置反向代理
- 依赖外部 supervisor:systemd 方案依赖 Linux 系统,Windows/macOS 需自行适配
适用人群
- 开发者:快速搭建可复现的本地开发环境
- DevOps/运维工程师:标准化容器化或服务化部署流程
- 技术负责人:为团队建立统一的部署规范与故障排查 SOP
安全与合规考量
- 秘钥管理:明确禁止
.env入仓,但需配合 CI/CD secret 注入机制 - 数据持久化:
data/state.json被排除于版本控制,需额外配置备份策略 - 网络暴露风险:默认绑定
0.0.0.0:8787,内网部署时需评估防火墙规则
> 综合评估:T2 级可信度(官方项目文档),S 级安全(无已知漏洞,依赖标准运维实践)。适合作为团队基础设施标准化模板,但生产环境建议叠加 HTTPS 与监控告警。