SuperAPI AI 工具集

routeros-app-yaml

通用与其它

查看项目

更新于 10-16 02:28

技能介绍

用途:RouterOS 7.21 引入 /app 路径(内置应用列表与管理),7.22(7.22beta5)起支持通过 /app/add 用完整 YAML 创建自定义应用。YAML 定义 services、configs、volumes、networks,由 RouterOS 解析后创建容器、卷、网络和配置文件并管理生命周期。

主要能力:顶层属性含 name、descr、page、category(枚举如 productivity、storage、networking、development、ai、security 等)、icon、default-credentials、url-path、auto-update、services(必填,≥1)、volumes、networks、configs。每个 service 必填 image,可选 container_name、hostname、entrypoint、command、ports、environment、volumes、configs、restart、depends_on、devices、user、security_opt、shm_size、stop_grace_period、ulimits、build、healthcheck、stdin_open、expose、secrets、attach 等。

用法:通过 CLI(/app/add yaml-url=...)或 REST API 加载。REST 示例:PUT /app,body 为 {"yaml-url": "https://example.com/my-app.tikapp.yaml"};GET /app 列出内置与自定义应用。app-store-urls= 可加载应用集合,store 文件为 /app 定义数组,扩展名约定 .tikappstore.yaml。占位符 [accessIP]、[accessPort]、[accessPort2]、[containerIP]、[routerIP] 在端口、环境变量、config 内容中于部署时展开。端口有旧式 host:container[/tcp|/udp][:label] 与新式 host:container[:label][:tcp|:udp](7.23beta2+)两种,单条端口串不可混用两种风格。configs 仅支持内联 content,services 用 {source,target,mode} 引用。

限制:与 docker-compose 不兼容——不支持 deploy/resources,version 键被忽略,卷仅支持简化子集(无 bind mount 选项),网络模型简化为 name+external,build 仅 context/dockerfile,configs 仅内联内容。严格 schema(.latest.json)对端口用正则、环境变量名仅允许 ^[A-Z_][A-Z0-9_]$,会妨碍编辑器补全;编辑器变体(*.editor.json)无正则、大小写不敏感。使用 /app 端点需安装 container 额外软件包,否则返回 404。可在 VSCode 的 yaml.schemas 中关联 schema URL 获得补全。7.23+ 新增 devices、expose、secrets、attach 等属性。其余未在资料中说明的内容暂未提供。