Railway模板技能Skill railway-templates

该技能用于在Railway云平台上搜索、获取和部署各种服务模板,如数据库、内容管理系统、自动化工具和监控服务,帮助用户快速搭建和配置应用,提升部署效率。关键词:Railway、模板、部署、服务、搜索、云计算、DevOps、自动化。

云原生架构 0 次安装 0 次浏览 更新于 3/20/2026

name: railway-templates description: 从Railway的模板市场搜索和部署服务。当用户想要添加模板中的服务、查找特定用例的模板或部署工具如Ghost、Strapi、n8n、Minio、Uptime Kuma等时使用。对于数据库(Postgres、Redis、MySQL、MongoDB),优先使用railway-database技能。 version: 1.0.0 author: Railway license: MIT tags: [Railway, 模板, 市场, 部署, CMS, 自动化, 基础设施] dependencies: [railway-cli] allowed-tools: Bash(railway:*)

Railway模板

从Railway的模板市场搜索和部署服务。

使用场景

  • 用户要求“添加Postgres”、“添加Redis”、“添加数据库”
  • 用户要求“添加Ghost”、“添加Strapi”、“添加n8n”或任何其他服务
  • 用户想要查找用例的模板(例如,“CMS”、“存储”、“监控”)
  • 用户询问“有哪些模板可用?”
  • 用户想要部署预配置服务

常见模板代码

类别 模板 代码
数据库 PostgreSQL postgres
Redis redis
MySQL mysql
MongoDB mongodb
CMS Ghost ghost
Strapi strapi
存储 Minio minio
自动化 n8n n8n
监控 Uptime Kuma uptime-kuma

对于其他模板,使用以下搜索查询。

先决条件

获取项目上下文:

railway status --json

提取:

  • id - 项目ID
  • environments.edges[0].node.id - 环境ID

获取工作区ID:

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query getWorkspace($projectId: String!) {
    project(id: $projectId) { workspaceId }
  }' \
  '{"projectId": "PROJECT_ID"}'
SCRIPT

搜索模板

列出可用模板,可选过滤器:

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query templates($first: Int, $verified: Boolean) {
    templates(first: $first, verified: $verified) {
      edges {
        node {
          name
          code
          description
          category
        }
      }
    }
  }' \
  '{"first": 20, "verified": true}'
SCRIPT

参数

参数 类型 描述
first Int 结果数量(最大约100)
verified Boolean 仅已验证模板
recommended Boolean 仅推荐模板

速率限制

每分钟10个请求。不要滥用搜索。

获取模板详情

通过代码获取特定模板:

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query template($code: String!) {
    template(code: $code) {
      id
      name
      description
      serializedConfig
    }
  }' \
  '{"code": "postgres"}'
SCRIPT

返回:

  • id - 模板ID(部署所需)
  • serializedConfig - 服务配置(部署所需)

部署模板

步骤1:获取模板

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'query template($code: String!) {
    template(code: $code) {
      id
      serializedConfig
    }
  }' \
  '{"code": "postgres"}'
SCRIPT

步骤2:部署到项目

bash <<'SCRIPT'
${CLAUDE_PLUGIN_ROOT}/skills/lib/railway-api.sh \
  'mutation deployTemplate($input: TemplateDeployV2Input!) {
    templateDeployV2(input: $input) {
      projectId
      workflowId
    }
  }' \
  '{
    "input": {
      "templateId": "TEMPLATE_ID_FROM_STEP_1",
      "serializedConfig": SERIALIZED_CONFIG_FROM_STEP_1,
      "projectId": "PROJECT_ID",
      "environmentId": "ENVIRONMENT_ID",
      "workspaceId": "WORKSPACE_ID"
    }
  }'
SCRIPT

重要: serializedConfig 是模板查询中的确切JSON对象,不是字符串。

组合性

  • 连接服务:使用railway-environment技能添加变量引用
  • 查看部署服务:使用railway-service技能
  • 检查日志:使用railway-deployment技能
  • 添加域名:使用railway-domain技能