NoobCity99/CTRoadmap
GitHub: NoobCity99/CTRoadmap
CTRoadmap 是一款本地优先的 Homelab 基础设施可视化图集编辑器,帮助用户以图形化方式记录和规划服务器节点、服务及运维关系。
Stars: 55 | Forks: 3
# CTRoadmap

CTRoadmap 是一款本地优先的基础设施图集,用于记录节点、服务、存储、脚本、配置、URL、检查以及运维关系。
CTRoadmap 是一个以 GUI 为先的编辑器,由 `data/atlas.json` 提供支持。它不执行命令、SSH、Docker 调用或实时检查。
## Beta Docker 安装
推荐的 Beta 版本发布途径是已发布的 Docker 镜像:
```
ghcr.io/noobcity99/ctroadmap:beta
```
Beta 用户无需克隆此仓库或安装 Python、Node 或 npm。
环境要求:
- Linux 服务器
- Docker
- Docker Compose v2
- curl
- 如果从其他机器访问 CTRoadmap,需确保端口 8088 可连通
方案 A,更安全:
```
curl -fsSL https://raw.githubusercontent.com/NoobCity99/CTRoadmap/main/CTR_install.sh -o CTR_install.sh
chmod +x CTR_install.sh
./CTR_install.sh
```
方案 B,单行命令:
```
curl -fsSL https://raw.githubusercontent.com/NoobCity99/CTRoadmap/main/CTR_install.sh | bash
```
自定义安装目录:
```
CTR_INSTALL_DIR=/opt/ctroadmap-beta ./CTR_install.sh
```
管理命令:
```
cd ~/ctroadmap-beta
docker compose logs -f
docker compose down
docker compose up -d
docker compose pull && docker compose up -d
```
手动 Beta 更新:
```
cd ~/ctroadmap-beta && docker compose pull && docker compose up -d
```
卸载:
```
curl -fsSL https://raw.githubusercontent.com/NoobCity99/CTRoadmap/main/CTR_uninstall.sh -o CTR_uninstall.sh
chmod +x CTR_uninstall.sh
./CTR_uninstall.sh
```
持久化数据存放于:
```
~/ctroadmap-beta/data
~/ctroadmap-beta/exports
```
## 使用 Docker 运行
```
docker compose up -d
```
打开:
```
http://localhost:8088
```
停止:
```
docker compose down
```
日志:
```
docker compose logs -f
```
备份数据:
```
cp data/atlas.json data/atlas.backup.json
```
更新提示仅供参考。CTRoadmap 不会自动更新、运行 Docker 命令、挂载 Docker socket 或执行系统管理操作。
## 功能
- 创建、编辑、删除、拖拽、搜索和筛选已指定类型的区块(tile)。
- 从检查器(inspector)创建子区块;这会建立一个 `contains`(包含)关系。
- 在画布上的区块之间绘制指定类型的关系。
- 编辑关系类型、标签、备注、端点和方向性。
- 通过检查器或使用 `Ctrl/Cmd+D` 复制区块。
- 从检查器向 `flow`(流程)区块添加有序的流程步骤。
- PLANNING MODE(规划模式):在正式上线前规划节点和连接,并在规划期间提供视觉区分。
- 使用命令和预期结果字段记录非执行类的检查。
- 保存并重新加载位于 `data/atlas.json` 的规范图集。
- 创建、编辑、删除和切换已保存的图层。
- 在每个图层上切换 `canvas_topology` 和 `layered_hierarchy` 模板。
- 在后端验证后导入已保存的 `atlas.json`。
- 从浏览器下载当前的 atlas JSON。
- 将 Markdown、YAML 和 Mermaid 文件导出至 `exports/`。
- 从工具栏下载生成的导出文件。
- LOCK(锁定)画布,以防止在导航时发生意外更改。
- 查看关于失效链接和缺失必填区块数据的警告。
- 查看关于未完成流程/检查的警告。
- 从工具栏加载可选的 CTDC 示例数据。
流程步骤和检查区块仅供文档记录使用。CTRoadmap 不会运行检查命令。
## 键盘快捷键
```
Ctrl/Cmd+S Save
Ctrl/Cmd+D Duplicate selected tile
Delete/Backspace Delete selected tile or relationship
/ Focus search
Escape Clear selection
```
## API
```
GET /api/health
GET /api/app/version
GET /api/app/update
PUT /api/app/update/settings
GET /api/atlas
PUT /api/atlas
POST /api/export/markdown
POST /api/export/yaml
POST /api/export/mermaid
GET /api/export/markdown/download
GET /api/export/yaml/download
GET /api/export/mermaid/download
```
## 项目日志
规划决策、问答、Bug 和修复均记录在 `PROJECT_LOG.md` 中。
## 许可证
CTRoadmap 采用 Apache License 2.0 授权。详见 [LICENSE](LICENSE)。
![]() |
![]() |
![]() |
![]() |
标签:Docker, Homebrew安装, Homelab, MITM代理, Mutation, 占用监测, 可视化, 安全防御评估, 拓扑图, 文档, 自动化攻击, 请求拦截, 资产管理, 运维, 逆向工具



