Claude-code-templates railway-domain
Add, view, or remove domains for Railway services. Use when user wants to add a domain, generate a railway domain, check current domains, get the URL for a service, or remove a domain.
install
source · Clone the upstream repo
git clone https://github.com/davila7/claude-code-templates
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/davila7/claude-code-templates "$T" && mkdir -p ~/.claude/skills && cp -r "$T/cli-tool/components/skills/railway/domain" ~/.claude/skills/davila7-claude-code-templates-railway-domain && rm -rf "$T"
manifest:
cli-tool/components/skills/railway/domain/SKILL.mdsource content
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:
- Railway-provided domainsserviceDomains
- User-provided domainscustomDomains
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
| Flag | Description |
|---|---|
| Custom domain to add (omit for railway domain) |
| Port to connect |
| Target service (defaults to linked) |
| JSON 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".