domain
Generate Railway domains or add custom domains to services with DNS configuration.
- Supports two domain types: auto-generated Railway domains (one per service) and custom domains with DNS record configuration
- CLI commands for adding domains, viewing current domains via the environment skill, and removing domains through environment configuration
- Requires an active service deployment; integrates with the environment and service skills for reading and modifying domain settings
- Returns DNS records (CNAME) when adding custom domains so users can configure their DNS provider
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 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 domainscustomDomains- User-provided domains
Remove Domain
Use 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 environment skill to apply and commit the change.
CLI Options
| Flag | Description |
|---|---|
[DOMAIN] |
Custom domain to add (omit for railway domain) |
-p, --port <PORT> |
Port to connect |
-s, --service <NAME> |
Target service (defaults to linked) |
--json |
JSON output |
Composability
- Read domains: Use
environmentskill - Remove domains: Use
environmentskill - Apply removal: Use
environmentskill - Check service: Use
serviceskill
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".
More from railwayapp/railway-skills
use-railway
>
3.5Kservice
This skill should be used when the user asks about service status, wants to rename a service, change service icons, link services, or create services with Docker images. For creating services with local code, prefer the `new` skill. For GitHub repo sources, use `new` skill to create empty service then `environment` skill to configure source.
1.6Kcentral-station
This skill should be used when the user asks about Central Station threads, community discussions, support questions, feature requests, or wants to search Railway's community knowledge base. Use for queries like "search central station", "find threads about", "what are people asking about", "recent support threads", or "central station topics".
1.5Kstatus
This skill should be used when the user asks "railway status", "is it running", "what's deployed", "deployment status", or about uptime. NOT for variables ("what variables", "env vars", "add variable") or configuration queries - use environment skill for those.
1.5Krailway-docs
This skill should be used when the user asks about Railway features, how Railway works, or shares a docs.railway.com URL. Fetches up-to-date Railway docs to answer accurately.
1.1Kdeployment
This skill should be used when the user wants to manage Railway deployments, view logs, or debug issues. Covers deployment lifecycle (remove, stop, redeploy, restart), deployment visibility (list, status, history), and troubleshooting (logs, errors, failures, crashes, why deploy failed). NOT for deleting services - use environment skill with isDeleted for that.
1.0K