Blog

Tutorials, guides and product news.

Developers

How to deploy a v0 project on your own server

2 November 2026 5 min read
Share this post

To deploy a v0 project on your own server, connect it to GitHub from the v0 settings, copy over its environment variables and give the repository to the Coolify panel on your server. v0 generates Next.js by default, and Next.js supports all its features on a Node.js server. The v0 docs also say you can export your code and deploy it elsewhere.

What you have is an ordinary Next.js project with React, TypeScript, Tailwind and shadcn/ui, and Next.js is the project type we have tested most with Coolify on a real server. Two things need attention: how v0 uses branches, and the variables its integrations add.

How do you get the code out of v0?

  1. In the project, open the Project menu (...), go to Settings and GitHub, then press Connect.
  2. Choose the account that will own the repository under Git Scope and fill in Repository Name.
  3. Press Create Repository. v0 creates a private repository and pushes the current code.

According to the v0 docs, that repository is now the source of truth, so deleting it can lose the code. If you only need a few files, Download file on the Code tab saves the open file. For a whole project, GitHub is the clean route.

Why do the branches matter?

v0 never writes directly to main. Each chat creates a working branch such as v0/main-abc123, generated code goes there, and it reaches main through a pull request. Your server watches main, so the rule is simple: what gets merged goes live.

  • To update your server, merge the working branch's pull request on GitHub.
  • The Publish button in v0 merges the pull request too, but it also runs v0's own deployment. Merge on GitHub if you only want the server updated.
  • Leave work on the branch while you experiment, and your server isn't affected.

Step by step

  1. Pick a size on the Next.js VPS page and order the server.
  2. In v0, note the variable names under Project menu, Settings, Environment Variables. Integrations add their own there. Get any value you can't see from that service's own dashboard.
  3. Clone the repository with git clone and open the folder in a coding tool such as Claude Code or Cursor.
  4. Copy the Paste into your AI tool row from the Overview tab of your Seturack panel, paste it in and provide the variables. The tool reads the instructions and deploys, adding a read-only deploy key to the private repository.
  5. When the HTTPS address arrives, test the pages, sign-in and writing data.
  6. Point an A record at the server's IP address and tell the tool the domain name. The certificate is issued automatically.
  7. Ask the tool to deploy on every push. Each change merged into main then builds on the server.

The steps for doing this by hand are in our Next.js guide. You have root access, and you can manage everything from the panel if you prefer.

Two details about variables

Variables starting with NEXT_PUBLIC_ are written into the browser code during the build, so keep them available at build time in Coolify and deploy again when one changes. Never give that prefix to model or payment keys. If the code contains localhost or a v0 preview address, replace it with your own.

What works on your own server, and what changes?

PartStatusWhat to do
Server components, API routes, server actionsWork with next startNothing
next/imageThe Next.js docs say it needs no setupImages are processed on your server, so check the size if you have many
Caching and ISRWork by themselves on one server with a local diskSeveral copies would have to share the cache
Analytics componentRelies on routes specific to the maker's platformRemove it and use your own analytics
Database integrationsSeparate services, reached with an address and keyCarry over the variables. If billing runs through the maker's account, take your data before closing it
File storage integrationCan be reached from another server with a read-write tokenSet the token, or move the files to your server

Read through package.json to spot platform-specific packages, or ask your coding tool: "What in this project depends on a particular hosting platform?"

Frequently asked questions

How much RAM does a v0 project need?

With Next.js, the build sets the requirement. A small project built on 2 GB, while a large one with 85 packages ran out of memory at 2 GB and built at 4 GB. That's why the sales page recommends at least 4 GB of RAM, 2 vCores and 40 GB of disk. If a build fails, scale up from your panel.

What does it cost per month?

The recommended minimum size is about $6 a month (VAT included), and outside Turkey you pay in US dollars. Daily backups are included in the price and traffic is unlimited. To compare this with usage-billed hosting, see how to run the numbers. Your v0 subscription is separate.

How do I connect my domain?

Point an A record at the server's IP address, add the domain to the app and deploy again. The certificate is issued automatically. Our help article covers the record. If the domain is live somewhere else today, test on the temporary address first and switch the record last.

Can I keep working in v0?

Yes. While the repository stays connected, v0 keeps writing to working branches, and your server updates as you merge. You can work in the same repository from Cursor or Claude Code as well, which the v0 docs describe.

Can I move the database to my own server?

Yes. For a PostgreSQL project, you can create a database in Coolify on the same server and load your data, and it stays closed to the outside. If the project uses Supabase, you'll need its sign-in and file services too, so Supabase VPS is the better fit.

Ready-made on Seturack: Next.js, Coolify.

Comments0

No Comments Yet

Be the first to share your thoughts.

Join the Discussion

Please sign in or sign up to leave a comment.

Never Miss a Post

Get our latest tutorials, guides and product news in your inbox.

You're subscribed to our newsletter.