NoobCity99/CTRoadmap

GitHub: NoobCity99/CTRoadmap

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

Stars: 55 | Forks: 3

# CTRoadmap ![替代文本](https://raw.githubusercontent.com/NoobCity99/CTRoadmap/main/readmebanner.png) 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 ```
Image 1 Image 2
Image 3 Image 4
## 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, 占用监测, 可视化, 安全防御评估, 拓扑图, 文档, 自动化攻击, 请求拦截, 资产管理, 运维, 逆向工具