一个面向单用户的 Node.js 应用集成平台:上传 ZIP 源码包,自动分析、构建、部署,并通过分类树统一管理应用。
- ZIP 上传
- Node.js 前端项目(优先兼容 Vite / React)
- 自动执行
npm install+npm run build - 将构建产物打包为独立 Nginx 容器
- 平台内查看状态、日志、启动、停止、删除、重新部署
- Docker Compose 部署
- 子路径访问应用,例如
/apps/<slug>/ - 平台登录密码保护
- 子应用额外 Basic Auth 保护
npm install
cp .env.example .env
# 然后编辑 .env
npm run dev打开:http://localhost:3000/apps
如果要真正构建并启动独立应用容器,需要本机 Docker 可用,并且服务进程有权限访问 Docker Socket。
若未设置
ACCESS_PASSWORD,平台登录保护不会启用。若未设置
SUBAPP_BASIC_AUTH_USER/SUBAPP_BASIC_AUTH_PASSWORD,子应用额外 Basic Auth 不会启用。
cp .env.example .env
# 然后编辑 .env
docker compose up --build项目启动时会自动读取根目录 .env。
常用配置:
ACCESS_PASSWORD:平台登录密码ACCESS_SESSION_SECRET:平台登录 Cookie 签名密钥SUBAPP_BASIC_AUTH_USER:子应用 Basic Auth 用户名SUBAPP_BASIC_AUTH_PASSWORD:子应用 Basic Auth 密码SUBAPP_BASIC_AUTH_REALM:Basic Auth 提示文案
建议生产环境务必修改:
ACCESS_PASSWORDACCESS_SESSION_SECRETSUBAPP_BASIC_AUTH_USERSUBAPP_BASIC_AUTH_PASSWORD
POST /apps上传 ZIP(multipart 字段名:sourceZip)GET /api/apps获取应用列表GET /api/apps/:id获取应用详情POST /manage/apps/:id/deploy重新部署POST /manage/apps/:id/start启动POST /manage/apps/:id/stop停止DELETE /manage/apps/:id删除
- 保存上传的 ZIP
- 安全解压到工作目录
- 检测
package.json、build脚本、Vite 配置 - 执行依赖安装和构建
- 生成运行时镜像(Nginx 托管
dist/) - 启动独立容器并挂入
rtts-apps网络 - 通过
/apps/:slug/反向代理访问
- 暂不支持需要私密环境变量自动注入的项目
- 暂不支持 Node 服务端项目、多语言项目、多用户
- 默认只识别根目录 ZIP 项目结构
- 首页支持无限层级分类树
- 支持新增、删除分类
- 支持将应用拖拽到不同分类
- 删除分类时,应用和子分类会移动到“未分类”
项目文档已整理到 docs/ 目录,重点包括:
- 项目概述
- 架构与实现说明
- 应用支持情况
- 部署与运维手册
- 后续智能体改造指南