Skip to content
afenzengukPublic

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

RTTS 统一应用集成平台

一个面向单用户的 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 不会启用。

Docker 部署

cp .env.example .env
# 然后编辑 .env
docker compose up --build

.env 配置

项目启动时会自动读取根目录 .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_PASSWORD
  • ACCESS_SESSION_SECRET
  • SUBAPP_BASIC_AUTH_USER
  • SUBAPP_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 删除

运行流程

  1. 保存上传的 ZIP
  2. 安全解压到工作目录
  3. 检测 package.json、build 脚本、Vite 配置
  4. 执行依赖安装和构建
  5. 生成运行时镜像(Nginx 托管 dist/)
  6. 启动独立容器并挂入 rtts-apps 网络
  7. 通过 /apps/:slug/ 反向代理访问

当前限制

  • 暂不支持需要私密环境变量自动注入的项目
  • 暂不支持 Node 服务端项目、多语言项目、多用户
  • 默认只识别根目录 ZIP 项目结构

分类管理

  • 首页支持无限层级分类树
  • 支持新增、删除分类
  • 支持将应用拖拽到不同分类
  • 删除分类时,应用和子分类会移动到“未分类”

文档

项目文档已整理到 docs/ 目录,重点包括:

  • 项目概述
  • 架构与实现说明
  • 应用支持情况
  • 部署与运维手册
  • 后续智能体改造指南

rtts

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages