routeros-app-yaml
编写 RouterOS 容器 YAML 配置
为 MikroTik RouterOS 容器应用创建和验证 YAML 配置。该技能帮助你为 RouterOS /app 子系统定义服务、端口、卷和网络,无需掌握 docker-compose 知识。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“routeros-app-yaml”。 为 Home Assistant 容器创建 /app YAML,使用端口 8123 和持久化存储
预期结果:
- 一个包含 name、services、volumes 和 networks 部分的 YAML 文件。
- Web 服务使用 ghcr.io/home-assistant/home-assistant 镜像,映射端口 8123。
- 命名卷 home-assistant-config 挂载到 /config。
- 重启策略设置为 always 以确保可靠性。
正在使用“routeros-app-yaml”。 展示 RouterOS YAML 中旧端口格式和新端口格式的差异
预期结果:
- 旧 OCI 风格在协议前使用斜杠:8080:80/tcp
- 新的 RouterOS 7.23 风格使用冒号:8080:80:web:tcp
- 两种格式均有效。从 7.23beta2 开始的新部署应优先使用冒号风格。
- 包含 target、published 和 protocol 字段的长形式对象语法在所有版本中均有效。
安全审计
安全All 159 static analysis findings are false positives. The skill contains only documentation and YAML configuration examples for RouterOS container applications. There is no executable code, no actual shell commands, no network requests, and no credential handling. The static scanner flagged YAML examples in markdown code blocks as security risks (for example, backticks in YAML values, example URLs in documentation, and placeholder IP addresses in configuration samples). After manual review, no genuine security issues were found.
低风险问题 (3)
风险因素
⚙️ 外部命令 (132)
质量评分
你能构建什么
为 RouterOS 定义容器应用
网络管理员编写 YAML,通过 /app 子系统在 MikroTik 路由器上部署包含 Grafana 和 Prometheus 的监控栈。
将 docker-compose 项目迁移到 RouterOS
开发者将现有的 docker-compose 配置适配为 RouterOS /app YAML 格式,调整端口语法并移除不支持的属性。
创建用于团队部署的应用商店
系统工程师构建包含预配置应用的 tikappstore YAML 文件,以便在多个 RouterOS 设备上一致部署。
试试这些提示
编写一个 RouterOS /app YAML 文件,在端口 8080 上运行 nginx 容器,并使用命名卷存储持久化数据。
将此 docker-compose 文件转换为 RouterOS /app YAML 格式。标出不支持或行为不同的属性。
编写一个 RouterOS /app YAML,包含 Web 前端、PostgreSQL 数据库和 Redis 缓存。包含正确的卷挂载、网络隔离和健康检查。
创建一个 RouterOS 应用商店 YAML 文件,包含三个应用:Web 服务器、数据库管理器和监控面板。每个应用都应具有适当的分类和元数据。
最佳实践
- 始终使用 .tikapp.yaml 文件扩展名来命名自定义 RouterOS 应用定义,以区别于通用 YAML 文件。
- 开发期间使用 *.editor.json schema 变体以获得更好的自动补全功能,部署前再针对 *.latest.json 进行验证。
- 在部署到生产环境硬件之前,先在 RouterOS CHR 虚拟机上测试 YAML,以便尽早发现 schema 错误。
避免
- 假设完全兼容 docker-compose。RouterOS /app 仅支持 compose 属性的子集,且某些属性的处理方式不同。
- 使用 version 顶级键。RouterOS 会忽略此键,它在 /app YAML 中没有任何作用。
- 在单个端口字符串中混用端口格式风格。每个端口条目必须 exclusively 使用旧 OCI 风格或新冒号风格之一。
常见问题
我需要什么版本的 RouterOS 才能使用 /app YAML?
RouterOS /app YAML 与 docker-compose 相同吗?
我应该为 /app YAML 文件使用什么文件扩展名?
RouterOS YAML 中的占位符如何工作?
我可以使用小写名称的环境变量吗?
如何将自定义应用添加到 RouterOS?
开发者详情
文件结构