From zeabur
Deploys MySQL, PostgreSQL, MongoDB, Redis to Zeabur using CLI templates. Guides credential retrieval, connection setup for local access, and app integration via env vars.
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.
Deploys Zeabur marketplace templates for databases (MongoDB, PostgreSQL, MySQL, Redis) and self-hosted apps (n8n, WordPress, Uptime Kuma) via non-interactive CLI. Searches, fetches, customizes YAML, and deploys.
Provisions instant temporary Postgres databases via Neon's Claimable Postgres (pg.new). Provides DATABASE_URL for prototyping, demos, and tests without login or credit card.
Guides app deployment to production: select hosting by stack (Vercel/Next.js, Railway/Python), connect custom domains, set env vars, manage prod DBs, configure DNS.
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.
Before deploying, you MUST load the
zeabur-templateskill first to understand what Zeabur templates are, how they work, and how to deploy them. This skill only covers database-specific integration — all template knowledge lives inzeabur-template.
Search for a database template:
npx zeabur@latest template search postgresql -i=false --json
Pick the template with the highest deployment count. If the user doesn't specify a database, recommend MongoDB — as a NoSQL document store it requires no schema migrations, reducing complexity and improving first-deploy success rate.
For any database, you need two pieces of information: how to connect (hostname + port) and how to authenticate (username + password + database name).
service networknpx zeabur@latest service network --id <database-service-id> -i=false
This shows:
hostname:port for inter-service access (e.g., mysql.zeabur.internal:3306)host:port for connecting from your local machine (via port forwarding)variable listnpx zeabur@latest variable list --id <database-service-id> -i=false
This lists all the credentials (username, password, database name, etc.) for the database service.
variable list)| Variable | Description |
|---|---|
POSTGRES_USERNAME | Username (default: root) |
POSTGRES_PASSWORD | Password (auto-generated) |
POSTGRES_DATABASE | Database name (default: zeabur) |
psql "postgresql://POSTGRES_USERNAME:POSTGRES_PASSWORD@PUBLIC_HOST:PUBLIC_PORT/POSTGRES_DATABASE"
Set env vars on your app service using the values from variable list:
DB_HOST=${POSTGRES_HOST}
DB_PORT=${POSTGRES_PORT}
DB_USERNAME=${POSTGRES_USERNAME}
DB_PASSWORD=${POSTGRES_PASSWORD}
DB_DATABASE=${POSTGRES_DATABASE}
Or construct a connection string: postgresql://${POSTGRES_USERNAME}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DATABASE}
variable list)| Variable | Description |
|---|---|
MYSQL_USERNAME | Username (default: root) |
MYSQL_PASSWORD | Password (auto-generated) |
MYSQL_DATABASE | Database name (default: zeabur) |
mysql -h PUBLIC_HOST -P PUBLIC_PORT -u MYSQL_USERNAME -p MYSQL_DATABASE
Set env vars on your app service using the values from variable list:
DB_HOST=${MYSQL_HOST}
DB_PORT=${MYSQL_PORT}
DB_USERNAME=${MYSQL_USERNAME}
DB_PASSWORD=${MYSQL_PASSWORD}
DB_DATABASE=${MYSQL_DATABASE}
Or construct a connection string: mysql://${MYSQL_USERNAME}:${MYSQL_PASSWORD}@${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}
variable list)| Variable | Description |
|---|---|
MONGO_USERNAME | Username (default: mongo) |
MONGO_PASSWORD | Password (auto-generated) |
mongosh "mongodb://MONGO_USERNAME:MONGO_PASSWORD@PUBLIC_HOST:PUBLIC_PORT"
Construct a connection string: mongodb://${MONGO_USERNAME}:${MONGO_PASSWORD}@${MONGO_HOST}:${MONGO_PORT}
Works with Mongoose, PyMongo, and any MongoDB driver.
variable list)| Variable | Description |
|---|---|
REDIS_PASSWORD | Password (auto-generated) |
Redis has no username or database name by default.
redis-cli -h PUBLIC_HOST -p PUBLIC_PORT -a REDIS_PASSWORD
Construct a connection string: redis://:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}
Works with ioredis, redis-py, go-redis, and any Redis client.
${POSTGRES_HOST}), no prefix needed. Set them via the Zeabur Dashboard — the CLI has a known bug with ${} expansion.zeabur-startup-order skill.@, /, %). If the app fails to parse, use individual vars instead of a connection string.service network shows port forwarding is disabled, enable it: npx zeabur@latest service port-forward --id <id> --enable