From zeabur
Configures Zeabur service domains and environment variables to fix redirects, CORS errors, trailing slashes in WEB_URL, and manage custom/generated domains via CLI.
npx claudepluginhub zeabur/agent-skills --plugin zeaburThis skill uses the workspace's default tool permissions.
> **Always use `npx zeabur@latest` to invoke Zeabur CLI.** Never use `zeabur` directly or any other installation method. If `npx` is not available, install Node.js first.
Manages DNS records for Zeabur-registered domains using Zeabur CLI: list, create (A/AAAA/CNAME/MX/TXT/SRV/CAA/NS), update, delete. Supports TTL, priority, Cloudflare proxy. Use for add/update/delete DNS tasks.
Manages domain/DNS ops across Cloudflare, DNSimple, Namecheap: onboard zones to Cloudflare, flip nameservers, set redirects via Page Rules/Rulesets/Workers, update mappings, verify DNS/HTTP.
Configures custom domains and TLS certificates on Render web services and static sites: DNS setup for CNAME, apex, and wildcard domains, verification, and troubleshooting.
Share bugs, ideas, or general feedback.
Always use
npx zeabur@latestto invoke Zeabur CLI. Never usezeaburdirectly or any other installation method. Ifnpxis not available, install Node.js first.
${ZEABUR_WEB_URL} has trailing slash causing path issues| Variable | Example | Note |
|---|---|---|
ZEABUR_WEB_URL | https://app.zeabur.app/ | Has trailing slash |
ZEABUR_WEB_DOMAIN | app.zeabur.app | Domain only, no protocol |
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.
npx zeabur@latest domain list --id <service-id> -i=false
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:
DOMAIN_NAME_TOO_SHORT if less than 3 charsUNSUPPORTED_DOMAIN_NAME if prefix contains dotsWithout -g, --domain takes a full domain name:
npx zeabur@latest domain create --id <service-id> --domain example.com -y -i=false
After creating a custom domain, use the zeabur-domain-dns skill to configure the required DNS records. For dedicated servers, find the IP with:
npx zeabur@latest server list -i=false
# Note the IP address of the server running your service
Then at your DNS provider:
Type: A
Name: <your subdomain or @>
Value: <server IP from above>
Do not guess DNS values. Always retrieve the actual server IP from
server listoutput before configuring DNS.
npx zeabur@latest domain delete --id <service-id> --domain <domain> -y -i=false
--domain is always required in non-interactive mode. Without it the CLI returns INVALID_DOMAIN_NAME.-g, provide only the prefix (e.g., myapp), not the full myapp.zeabur.app.-g, provide the complete domain (e.g., example.com).