How to deploy a v0 project on your own server
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?
- In the project, open the Project menu (
...), go to Settings and GitHub, then press Connect. - Choose the account that will own the repository under Git Scope and fill in Repository Name.
- 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
- Pick a size on the Next.js VPS page and order the server.
- 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.
- Clone the repository with
git cloneand open the folder in a coding tool such as Claude Code or Cursor. - 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.
- When the HTTPS address arrives, test the pages, sign-in and writing data.
- Point an A record at the server's IP address and tell the tool the domain name. The certificate is issued automatically.
- Ask the tool to deploy on every push. Each change merged into
mainthen 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?
| Part | Status | What to do |
|---|---|---|
| Server components, API routes, server actions | Work with next start | Nothing |
next/image | The Next.js docs say it needs no setup | Images are processed on your server, so check the size if you have many |
| Caching and ISR | Work by themselves on one server with a local disk | Several copies would have to share the cache |
| Analytics component | Relies on routes specific to the maker's platform | Remove it and use your own analytics |
| Database integrations | Separate services, reached with an address and key | Carry over the variables. If billing runs through the maker's account, take your data before closing it |
| File storage integration | Can be reached from another server with a read-write token | Set 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.
Comments0
No Comments Yet
Be the first to share your thoughts.
Please sign in or sign up to leave a comment.