EthioDeploy/Docs
HomePricing
Overview

Overview

  • Getting started
  • How deploys work

Frameworks

  • Framework guides

Configuration

  • Web services & background workers
  • Environment variables
  • Addons
  • Database & Redis tools
  • Branch deployments
  • Custom domains
  • Analytics

Domains

  • Buying a domain

Agent mode

  • Agent mode
  • Agent plans & credit

CLI

  • Command-line tool

Account

  • Team access
  • Billing

Help

  • Troubleshooting
  • Still stuck?
Deploy guides
  • Next.js
  • Node.js
  • Python
  • SvelteKit
  • Django
  • FastAPI
  • Flask
  • Express
  • Laravel
  • Go
  • Lovable
  • Bolt
  • Replit
  • v0
  • Google AI Studio
  • Base44
  • Firebase Studio
  • Claude Code & Cursor
Compare
  • AI coding agent
  • Hosting in Ethiopia
  • vs Heroku
  • vs Vercel
  • vs Render
  • vs Railway
  • vs Fly.io
  • vs Netlify
  • Heroku alternatives
Deploy guidesv0

Deploy a v0 app

v0 apps are Next.js apps. Sync to GitHub and they build with next build and next start. Vercel services need a key or a replacement.

Last updated October 26, 2026

Detected by
next in package.json
Install
npm ci / pnpm / yarn (from your lockfile)
Build
npm run build
Start
next start (or the standalone server)

These are the defaults. Override any of them in Settings → Build.

v0 changes reach main through a pull request

v0 never writes to your base branch. Each chat works on its own branch, and publishing merges it with a pull request. EthioDeploy deploys the default branch, so a change shows up after that pull request is merged.

Get your code onto GitHub

In v0, open the project menu → Settings → GitHub → Connect, choose where the repository goes, name it and create it. v0 makes a private repository with the current code, and from then on that repository is the source of truth. GitHub sync is on every plan, including Free.

Then create a project on EthioDeploy from that repository.

Prepare your app

New v0 chats start as a Next.js app with Tailwind CSS and shadcn/ui, so it builds like any Next.js project. We run next build and next start, and image optimization and caching work with no extra setup. See the Next.js guide.

Open next.config before relying on the build. If it sets typescript.ignoreBuildErrors, the build passes even with type errors. Fix them and turn the flag off.

Vercel services in your app

Check package.json and your env vars for these:

  • Analytics and Speed Insights (@vercel/analytics, @vercel/speed-insights) load a script that only exists on Vercel. Elsewhere it fails to load and logs a message, and the app keeps working. Remove the components or use another analytics tool.
  • AI SDK through AI Gateway: on Vercel it can authenticate automatically. Elsewhere, create a Gateway API key and set AI_GATEWAY_API_KEY. The AI SDK reads it for you.
  • Vercel Blob: set BLOB_READ_WRITE_TOKEN from your Blob store. Vercel documents it as the option for code running outside Vercel.
  • Neon Postgres: keep it by copying its DATABASE_URLinto the project's settings, or switch to a Postgres addon, which sets DATABASE_URL for you. Do one or the other, not both.
  • Upstash Redis: copy its REST URL and token, or switch to a Redis addon.

Cron jobs from vercel.json

A crons entry in vercel.json makes Vercel send a GET request to a route on a schedule, with Authorization: Bearer $CRON_SECRET when CRON_SECRET is set. We don't read vercel.json, so use any outside scheduler (a scheduled GitHub Actions workflow works) to send the same request to your app's URL with the same header.

Environment variables

Add variables in the project's settings. They're available both while the app builds and while it runs, so build-time values (like framework-public keys) work without extra setup. See Environment variables.

NEXT_PUBLIC_* values are baked in when the app builds, so add them before the first deploy.

Deploy

  1. Sign in with GitHub and install the EthioDeploy app on the repo.
  2. Click “New Project” and pick the repo.
  3. Watch the build in the dashboard. When the health check passes, your app is live at <project-slug>.ethiodeploy.com. Every push to the default branch redeploys, and the old version keeps serving until the new one is healthy.

Troubleshooting

Your v0 change isn't live

Cause: The chat's branch hasn't been merged into the default branch yet.

Fix: Publish in v0, or merge its pull request on GitHub.

AI features fail with an authentication error

Cause: The app relied on Vercel's automatic AI Gateway authentication.

Fix: Create an AI Gateway API key and set AI_GATEWAY_API_KEY.

Uploads fail

Cause: Vercel Blob has no token outside Vercel.

Fix: Set BLOB_READ_WRITE_TOKEN in Settings.

Console shows "[Vercel Web Analytics] Failed to load script"

Cause: The analytics script only exists on Vercel.

Fix: Remove the Analytics component, or ignore it; nothing else breaks.

Scheduled tasks stopped running

Cause: Cron jobs in vercel.json only run on Vercel.

Fix: Call the cron route from an outside scheduler with your CRON_SECRET.

Still stuck? Check the deployment's build log in the dashboard, or see Troubleshooting.

Questions

Do I need to change my v0 code to host it on EthioDeploy?

Usually not. v0 apps are standard Next.js. You add your env vars, and replace or re-key the Vercel services the app uses: Analytics, AI Gateway, Blob and cron jobs.

Can I keep using v0 after moving the hosting?

Yes. v0 keeps editing through GitHub, and EthioDeploy redeploys whenever a change is merged into the default branch.

Does ISR and caching work outside Vercel?

Yes. Next.js caching and revalidation work with next start on a single instance, which is how EthioDeploy runs your app. The cache starts empty after each deploy.

Ready to deploy? Sign in with GitHub and pick your repo. No Dockerfile, no YAML.

Other framework guides

Next.jsNode.jsPythonSvelteKitLovableBoltClaude Code & CursorDjangoFastAPIFlaskLaravelExpressGoFirebase StudioReplitGoogle AI StudioBase44

See the full docs for custom domains, env vars, addons, and billing.

On this page

  • Get your code onto GitHub
  • Prepare your app
  • Vercel services in your app
  • Cron jobs from vercel.json
  • Environment variables
  • Deploy
  • Troubleshooting
  • Questions

Product

  • Pricing
  • Documentation
  • AI coding agent
  • Agent mode docs
  • Domains
  • Hosting in Ethiopia

Deploy guides

  • Next.js
  • Node.js
  • Python
  • SvelteKit
  • Django
  • FastAPI
  • Flask
  • Express
  • Laravel
  • Go
  • Lovable
  • Bolt
  • Replit
  • v0
  • Google AI Studio
  • Base44
  • Firebase Studio
  • Claude Code & Cursor

Compare

  • EthioDeploy vs Heroku
  • EthioDeploy vs Vercel
  • EthioDeploy vs Render
  • EthioDeploy vs Railway
  • EthioDeploy vs Fly.io
  • EthioDeploy vs Netlify
  • Heroku alternatives

Company

  • About
  • Support
  • Contact
  • Terms
  • Privacy

EthioDeploy: agentic first development and deployment, started in Ethiopia, built for developers everywhere.