Blog

Tutorials, guides and product news.

Developers

How to deploy a Bolt.new project on your own server

2 November 2026 6 min read
Share this post

To deploy a Bolt.new project on your own server, connect the project to GitHub or download it as a zip, hand the code to the Coolify panel on your server, set the environment variables and point your domain at it. Bolt's docs say the same: once the code is on GitHub, you can publish through another service of your choice. If you take the GitHub route, you can keep working in Bolt and your changes reach the repository by themselves.

Bolt is focused on JavaScript. Its supported stack is Node.js on the backend and browser-based frameworks on the frontend, with no Python or PHP backends. So your project is most likely an ordinary Node project with a package.json, and it needs nothing specific to Bolt to run.

How do you get the code out of Bolt?

Through GitHub

  1. Open the project, click the GitHub icon at the top right, sign in with your GitHub account and grant the access it asks for.
  2. Name the repository and press Create repository.
  3. The repository starts as private on a main branch. From then on, Bolt sends every change to it.

As a zip

Click the project name at the top left, then Download. A zip is a one-time copy and won't pick up later changes in Bolt. The server deploys from a Git repository, so you'd still have to put it in one. Unzipping it and running npm install && npm run dev is a quick way to see the code run outside Bolt.

What kind of project is it?

The project decides the settings, so check the dependencies in package.json. The Next.js, Vite and Astro rows are settings we have tried with Coolify on a real server.

DependencyProjectCoolify settings
nextNext.jsPort 3000, with nothing else to enter
viteStatic siteOutput type Static site, Publish directory /dist
astroAstro server appPort 4321, Start command HOST=0.0.0.0 node dist/server/entry.mjs
express or similarNode.js serverThe port the app listens on, address 0.0.0.0, and a start script in package.json

If a Vite project routes pages in the browser, set Site type to SPA on the General page. Skipping this is the usual reason a nested page returns a 404 on refresh.

Step by step

  1. Order a server from the Next.js VPS page. This option comes with Coolify, so you deploy from the same panel even if your project isn't Next.js.
  2. Clone the repository and run npm run build. Code that runs in Bolt's preview can still fail a production build, and it's better to find out before the server does.
  3. 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 and paste it in. The tool reads the instructions and deploys, adding a read-only deploy key for the private repository.
  4. Give it the environment variables your code expects, and keep the values out of the code.
  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.

You can do all of this by hand in Coolify too, as our Next.js guide explains. You have root access, and you can manage everything from the panel if you prefer.

Keep every change from going live

Here's a detail specific to Bolt. Because it sends every change to the repository, a webhook on main means every prompt starts a new build, and half-finished experiments go live. To avoid that, click the GitHub icon, use Create new branch to work on a separate branch, and merge into main when you're done. The server only watches main, so visitors see the finished version.

What happens to Bolt Database?

Bolt Database keeps your data, sign-in, file storage and server functions in Bolt Cloud. Moving the code leaves all of that where it is, so you choose what comes next.

OptionWhat you doWatch out for
Stay on Bolt DatabaseSet the address and keys your code connects with, then test reads and writes on the temporary addressBolt may pause a low-usage database in an unpublished project
Claim it into SupabaseFrom the database icon, go to Advanced and press ClaimNeeds a Pro or Teams plan and Supabase org ownership
Run Supabase on your serverClaim it first, then set up Supabase VPS and follow the restore guideFiles and server functions move separately, and users sign in again
Export only the rowsSelect rows in a table and export CSV or JSONSuits small amounts of data

The keys on Bolt's Secrets page are for its server functions. Code running on your server reads them from environment variables, so you enter them there yourself.

Frequently asked questions

How powerful a server does a Bolt.new project need?

The sales page recommends at least 4 GB of RAM, 2 vCores and 40 GB of disk. Next.js builds push memory as a project grows: one with 85 packages failed at 2 GB and built at 4 GB, while a small one passed at 2 GB. If it isn't enough, scale up from your panel.

What will 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. Your Bolt subscription is separate and continues if you keep developing there.

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.

How does a change in Bolt reach the server?

Bolt sends it to GitHub, and with a webhook the server rebuilds on each push to the branch it watches. Without one, press Redeploy in Coolify.

Can I move the database to PostgreSQL in Coolify?

If your code talks to the database directly over SQL, yes. Bolt Database also covers sign-in, files and server functions, and plain PostgreSQL won't replace those if your code depends on them. In that case the Supabase route takes fewer code changes.

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

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.