· Updated
Zeabur is shutting down: how to migrate to Zenavo
Zeabur stops all services on December 31, 2026. Zenavo works the way Zeabur does — it imports Zeabur templates, builds with zbpack, has a CLI with the same commands, and restores Zeabur database backups as they are. Here is how to move your projects, step by step.
This post is also available in 简体中文, 繁體中文, 日本語, Español and Bahasa Indonesia.
On October 17, 2026, Zeabur announced that it is winding down. Every service stops by December 31. If your projects still run on Zeabur, start moving now: from December 1, running services on its shared clusters are paused.
Zenavo is a deployment platform built around the way Zeabur works. Projects and services mean the same thing, Zeabur's exported templates import directly, code without a Dockerfile is built with zbpack, and the CLI's commands have the same names. The difference: your apps run on servers you rent or own, so your data stays on your machines.
Zenavo is an independent product and is not affiliated with Zeabur.
The Zeabur shutdown timeline
From Zeabur's announcement as reported by BusinessNext and BleepingComputer:
| Date | What happens |
|---|---|
| From October 17 | No new dedicated servers or domains; balance refunds open; domains bought on Zeabur can be transferred out from its dashboard |
| From December 1 | Dedicated servers stop renewing and shut down as they expire; running services on shared clusters are paused (you can still resume them to back up data) |
| December 31 | All dedicated servers and shared clusters stop |
At the time of writing, Zeabur had not announced when data is deleted, the last day to export, or when support closes. Zeabur itself advises not to wait for those dates before backing up.
Zeabur also had two security incidents, in August and on October 14; reports say environment variables of some projects — which can hold API keys and database passwords — were read. Do not carry your old secrets over as they are. Step 5 below covers this.
Why Zenavo is the easiest move
Most platforms make you relearn concepts and rewrite configuration. Zenavo was designed around Zeabur's way of working from the start:
| On Zeabur | On Zenavo |
|---|---|
| Projects and services | The same: projects hold services, which reach each other on a private network |
| Exported template (YAML) | New Project → Import a Zeabur template: services, images, Git sources, variables, ports, volumes, config files, health checks, init commands and dependencies carry over |
| zbpack detects the language and builds | Also zbpack; zbpack.json and ZBPACK_* variables work as before |
<service>.zeabur.internal |
Rewritten to <service>.zenavo.internal on import |
ZEABUR_* built-in variables |
Rewritten to ZENAVO_* on import |
| Zeabur CLI | The zenavo CLI, with the same commands: auth, workspace, context, project, service, deployment |
| AI operations and debugging | Built-in Zenavo Agent in the console, plus MCP and Skills for Claude Code |
Database backup download (.zip) |
Upload it as is to a Zenavo database service and restore, including PostgreSQL pg_dumpall cluster dumps |
| Dedicated server | Connect any Linux server you rent or own |
| Custom domains with automatic HTTPS | The same: bind a domain on the service's Networking tab and the certificate is issued for you |
| PostgreSQL, MySQL, MongoDB, Redis and more | PostgreSQL, MySQL, MariaDB, MongoDB, Redis, Valkey |
What is different
- No shared clusters. Each Zenavo project runs on one server of your own. If you used Zeabur's shared clusters, you need a server first (at least 1 CPU and 2 GB of memory; 2 CPUs and 4 GB recommended).
- You pay your cloud provider for your own servers; Zenavo charges only for the platform, and the free plan manages one server.
- Volumes are not copied between platforms. Databases and files come across as backups (step 4).
How to migrate
1. Back everything up on Zeabur
While your services are still running — before December 1 — export what you can:
- Project templates: export each project as a template (YAML).
- Databases: download a backup from each database service. Keep the
.zipexactly as downloaded, even when it is named.sql.gz. - Files on volumes, such as user uploads: archive and download them.
- Environment variables: list every service's variables; you will replace them below.
- Domains: if you bought a domain on Zeabur, transfer it out to a registrar of your own.
2. Sign up and add a server
Sign up at zenavo.app, then open Servers → New Server and connect a server you have: any Linux server with a static public IPv4 address (amd64 or arm64; Ubuntu 24.04 recommended). Enter its SSH details and Zenavo installs K3s, cert-manager and the Zenavo agent. When setup succeeds, Zenavo erases the SSH credentials and manages the server only through the agent, which connects out from it.
No server yet? Rent one from any cloud provider (at least 1 CPU and 2 GB of memory; 2 CPUs and 4 GB recommended) and connect it.
If you used a Zeabur dedicated server, you can connect the same machine, after removing Zeabur's agent and making sure nothing else listens on ports 80 and 443.
3. Import your Zeabur template
- Open New Project and expand Import a Zeabur template or a Zenavo export at the bottom.
- Upload or paste the YAML from step 1. If the template asks for variables, add them as JSON, for example
{"PUBLIC_DOMAIN": "app.example.com"}. - Click Check template and review the services and notes. Anything Zenavo does not support is listed as an issue to resolve, never dropped silently.
- Pick the server and import.
Or from a terminal:
zenavo template deploy -f zeabur.yaml --var PUBLIC_DOMAIN=app.example.com
4. Restore databases and files
- Databases: add a database service of the same kind (for PostgreSQL, the same major version as on Zeabur; Zeabur's backups record it), open Backup & Restore, upload the backup from step 1 as is, and restore it. Roles and row-level security policies come along; for safety, Zeabur's
rootsuperuser is restored without superuser rights or login. - Files: restore a volume archive.
- Point your app at the new database's connection variables.
5. Rotate secrets, then set variables
Given Zeabur's security incidents, issue new third-party secrets and put those in Zenavo instead of copying the old values:
- Cloud access keys (AWS, GCP, Alibaba Cloud, Tencent Cloud and others)
- AI API keys (OpenAI, Anthropic and others)
- Payment, email and OAuth app secrets
- Database passwords (a new database service already has new ones)
Zenavo encrypts variables at rest, redacts their values from logs, and hides them from viewers.
6. Deploy, verify, switch DNS
- Deploy the project and follow the build and runtime in Logs.
- Work through the Migration checklist in the project's settings: data restored and checked, sign-in, workers, email and callbacks verified.
- Bind your domains on each service's Networking tab and point their DNS records at the new server. HTTPS is issued once the records resolve.
- When everything works, stop the services on Zeabur. Until it shuts down, the old deployment is your rollback.
How Zenavo handles security
Since a security incident is part of why you are moving, here is how Zenavo is built (more in the security docs):
- After setup, Zenavo keeps no SSH key, password or cluster credential for your server. The agent connects out, so no port needs to be open to Zenavo.
- Variables and other secrets are encrypted at rest and never written to logs or the audit log.
- Git builds run on isolated build machines with no route to the control plane or to other customers.
- Two-factor authentication and passkeys, and an append-only audit log of every sign-in and change.
Pricing
| Plan | Per month | Servers | Build minutes / month |
|---|---|---|---|
| Free | $0 | 1 | 100 |
| Dev | $5 | 3 | 500 |
| Pro | $19 | 10 | 2,000 |
| Team | $79 (3 seats included) | Unlimited | 5,000 |
Every plan imports Zeabur templates, binds custom domains and backs up databases. Deploying Docker images and databases uses no build minutes. See Pricing.
FAQ
I used Zeabur's shared clusters and have no server. What now? Rent a Linux server from any provider (2 CPUs and 4 GB recommended) and connect it; setup takes about fifteen minutes.
What if my template uses something Zenavo does not support? Checking the template lists it as an issue. You resolve it before importing; nothing is dropped without you knowing.
Can I run servers in mainland China? Yes. Setup detects whether to install from mirrors in China. Custom domains on servers in mainland China need an ICP filing with the server's cloud provider.
How is Zenavo related to Zeabur? It is not. Zenavo is an independent product that is compatible with Zeabur's template format and way of working, so moving over is easy.
The full migration guide has more detail — or sign up and try it: the free plan is enough for the whole move.
This is what coding agents read, at https://zenavo.app/blog/migrate-from-zeabur.md.
Could not load the Markdown. Open it directly: https://zenavo.app/blog/migrate-from-zeabur.md