Back to Skills

railway-domain

davila7
Updated Today
44 views
15,516
1,344
15,516
View on GitHub
MetaRailwayDomainDNSURLCustom DomainInfrastructure

About

This Claude Skill manages domains for Railway services, allowing developers to add, view, or remove both Railway-provided and custom domains. It handles tasks like generating service URLs, checking current domains, and configuring DNS settings. The skill uses the railway-cli via Bash commands and is triggered when users ask about domain-related operations for their services.

Documentation

Railway Domain Management

Add, view, or remove domains for Railway services.

When to Use

  • User asks to "add a domain", "generate a domain", "get a URL"
  • User wants to add a custom domain
  • User asks "what's the URL for my service"
  • User wants to remove a domain

Add Railway Domain

Generate a railway-provided domain (max 1 per service):

railway domain --json

For a specific service:

railway domain --json --service backend

Response

Returns the generated domain URL. Service must have a deployment.

Add Custom Domain

railway domain example.com --json

Response

Returns required DNS records:

{
  "domain": "example.com",
  "dnsRecords": [
    { "type": "CNAME", "host": "@", "value": "..." }
  ]
}

Tell user to add these records to their DNS provider.

Read Current Domains

Use railway-environment skill to see configured domains, or query directly:

query domains($envId: String!) {
  environment(id: $envId) {
    config(decryptVariables: false)
  }
}

Domains are in config.services.<serviceId>.networking:

  • serviceDomains - Railway-provided domains
  • customDomains - User-provided domains

Remove Domain

Use railway-environment skill to remove domains:

Remove custom domain

{
  "services": {
    "<serviceId>": {
      "networking": {
        "customDomains": { "<domainId>": null }
      }
    }
  }
}

Remove railway domain

{
  "services": {
    "<serviceId>": {
      "networking": {
        "serviceDomains": { "<domainId>": null }
      }
    }
  }
}

Then use railway-environment skill to apply and commit the change.

CLI Options

FlagDescription
[DOMAIN]Custom domain to add (omit for railway domain)
-p, --port <PORT>Port to connect
-s, --service <NAME>Target service (defaults to linked)
--jsonJSON output

Composability

  • Read domains: Use railway-environment skill
  • Remove domains: Use railway-environment skill
  • Apply removal: Use railway-environment skill
  • Check service: Use railway-service skill

Error Handling

No Service Linked

No service linked. Use --service flag or run `railway service` to select one.

Domain Already Exists

Service already has a railway-provided domain. Maximum 1 per service.

No Deployment

Service has no deployment. Deploy first with `railway up`.

Invalid Domain

Invalid domain format. Use a valid domain like "example.com" or "api.example.com".

Quick Install

/plugin add https://github.com/davila7/claude-code-templates/tree/main/domain

Copy and paste this command in Claude Code to install this skill

GitHub 仓库

davila7/claude-code-templates
Path: cli-tool/components/skills/railway/domain
anthropicanthropic-claudeclaudeclaude-code

Related Skills