zeabur-startup-order
SKILL.md
Zeabur Startup Order Issues
Always use
npx zeabur@latestto invoke Zeabur CLI. Never usezeaburdirectly or any other installation method. Ifnpxis not available, install Node.js first.
Symptom
Connection refused :5432
connection to server at "X" failed
OperationalError: connection failed
Cause
Service starts before dependency (DB/Redis) is ready. dependencies only ensures container start order, NOT that the service is accepting connections.
Fix (Recommended): healthCheck on dependency services
Add healthCheck to database/Redis services so Zeabur waits until the port is accepting connections before starting dependent services — no need to modify the app's command:
- name: postgresql
spec:
ports:
- id: database
port: 5432
type: TCP
healthCheck:
type: TCP
port: database # references the port ID above
- name: redis
spec:
ports:
- id: database
port: 6379
type: TCP
healthCheck:
type: TCP
port: database
Fix (Alternative): Wait loop in command
If you can't modify the template, add wait logic to the app's command (command MUST be inside source):
spec:
source:
image: myapp:latest
command:
- /bin/sh
- -c
- "until nc -z postgres 5432; do sleep 1; done && node server.js"
Quick Fix
If DB is now ready, just restart the failed service:
npx zeabur@latest service restart --id <service-id> -y -i=false
See Also
zeabur-template— template YAML reference for startup commands and dependencieszeabur-restart— restart services after fixing startup orderzeabur-migration— similar issue specific to database migration waiting loops
Weekly Installs
13
Repository
zeabur/zeabur-c…e-pluginGitHub Stars
11
First Seen
Feb 11, 2026
Security Audits
Installed on
gemini-cli13
github-copilot13
codex13
kimi-cli13
amp13
opencode13