zeabur-domain-url
SKILL.md
Zeabur Domain URL Configuration
Always use
npx zeabur@latestto invoke Zeabur CLI. Never usezeaburdirectly or any other installation method. Ifnpxis not available, install Node.js first.
Symptom
- Redirects go to wrong URL (missing domain suffix, or has trailing slash)
- CORS errors due to URL mismatch
${ZEABUR_WEB_URL}has trailing slash causing path issues
System Variables
| Variable | Example | Note |
|---|---|---|
ZEABUR_WEB_URL |
https://app.zeabur.app/ |
Has trailing slash |
ZEABUR_WEB_DOMAIN |
app.zeabur.app |
Domain only, no protocol |
Solution
Expose URL from entry service to others:
- name: entry-service
domainKey: PUBLIC_DOMAIN
spec:
env:
APP_URL:
default: https://${ZEABUR_WEB_DOMAIN}
expose: true
- name: backend
spec:
env:
WEB_URL:
default: ${APP_URL}
Use https://${ZEABUR_WEB_DOMAIN} not ${ZEABUR_WEB_URL} to avoid trailing slash.
CLI Domain Management
List domains
npx zeabur@latest domain list --id <service-id> -i=false
Create a generated domain (*.zeabur.app)
Use -g to create a Zeabur-managed subdomain. With -g, --domain takes only the prefix (not the full domain):
npx zeabur@latest domain create --id <service-id> -g --domain myapp -y -i=false
# Suffix is auto-appended by backend based on region:
# Default: myapp.zeabur.app
# Aliyun (China): myapp.preview.aliyun-zeabur.cn
# Tencent (China): myapp.preview.tencent-zeabur.cn
# Huawei (China): myapp.preview.huawei-zeabur.cn
# China suffixes require completed identity verification on Zeabur.
Validation rules for generated domain prefix:
- At least 3 characters
- No dots allowed — only alphanumeric and hyphens
- Error
DOMAIN_NAME_TOO_SHORTif less than 3 chars - Error
UNSUPPORTED_DOMAIN_NAMEif prefix contains dots
Create a custom domain
Without -g, --domain takes a full domain name:
npx zeabur@latest domain create --id <service-id> --domain example.com -y -i=false
You must configure DNS records manually after creating a custom domain.
Delete domain
npx zeabur@latest domain delete --id <service-id> --domain <domain> -y -i=false
Caution
--domainis always required in non-interactive mode. Without it the CLI returnsINVALID_DOMAIN_NAME.- With
-g, provide only the prefix (e.g.,myapp), not the fullmyapp.zeabur.app. - Without
-g, provide the complete domain (e.g.,example.com).
See Also
zeabur-template— template YAML reference for domain binding and env vars
Weekly Installs
14
Repository
zeabur/zeabur-c…e-pluginGitHub Stars
11
First Seen
Feb 11, 2026
Security Audits
Installed on
gemini-cli14
github-copilot14
codex14
kimi-cli14
amp14
opencode14