Blog

Tutorials, guides and product news.

Developers

How to deploy an app from Cursor, Claude Code or Windsurf

2 November 2026 6 min read
Share this post

The shortest way to deploy an app you wrote with Cursor, Claude Code or Windsurf is to let the same tool do it. Order a Next.js server from Seturack, copy the Paste into your AI tool row from the Overview tab of your panel, and paste it into the tool with your project open. The tool reads the instructions, connects the code to the server through GitHub, runs the build and hands you a working HTTPS address.

This works because these tools can run commands on your computer and read web pages, as the Cursor Agent and Claude Code docs describe. Windsurf now goes by Devin Desktop, which its maker calls the same editor under a new name, so the steps don't change.

Step by step

  1. Pick a size on the Next.js VPS page and complete your payment. The Coolify deployment panel installs itself on the server.
  2. In your Seturack panel, open the server from My servers. On the Overview tab, check that the App row says it's ready.
  3. Copy the Paste into your AI tool row. It follows this pattern, with an address and key that belong to your server: Deploy this project to my Seturack server. Read and follow the instructions first: https://www.seturack.com/deploy.txt Panel: PANEL-ADDRESS API key: API-KEY
  4. Open the project folder in your tool. Cursor and Devin Desktop have an agent panel for this, and in Claude Code you run claude inside the folder.
  5. Paste the text, send it and answer whatever the tool asks.
  6. When you get the address, open it and try the pages that matter to you.

In our tests a deployment took 1 to 6 minutes. The project types we have run through Coolify are Next.js, TanStack Start, Vite (static), plain HTML, Astro and Flask.

What does the tool do along the way?

The text points the tool at a file called deploy.txt, which isn't specific to any one tool. It covers these stages:

StageWhat the tool doesWhat it needs from you
Project checkFinds the framework, build command and port, confirms that .env files are in .gitignore, and moves an app listening on localhost to 0.0.0.0Variable values it can't find
RepositoryUses a public repository as it is. With no repository, it creates a private one once you approve. A private repository gets a deploy key that can only read that repositoryApproval and a GitHub login
ApplicationCreates the app through the Coolify API and sets the variablesNothing
DeploymentStarts the build and waits. If it fails, the tool reads the log, fixes the cause and tries againNothing
ResultOpens the HTTPS address to confirm it works, then tells youA final look

For GitHub, the tool uses the gh command line tool. If you aren't signed in, it may ask you to run gh auth login.

How should you treat the approval prompts?

All three tools run commands according to your permission settings. Cursor keeps them under Settings, Agents, Approvals & Execution. Claude Code has permission modes, and Devin Desktop has Allow, Ask and Deny rules. For a first deployment, stay in a mode that asks, so you see every command before it runs.

Treat the API key in that text like a password. The instructions tell the tool never to print it or put it in the project or repository. It still sits in your chat history, so only paste it into a tool you trust, and take care when sharing your screen.

What can you ask for after launch?

  • "Deploy again on every git push." The tool adds a signed webhook on GitHub, and each push builds a new version.
  • "Serve the app from app.example.com." You'll point an A record at the server's IP address first. The certificate is issued automatically.
  • "Add PostgreSQL to this app." The database runs on the same server, can't be reached from outside, and its address goes into the app as DATABASE_URL.

What if it gets stuck?

SymptomCauseFix
The build stops with exit code 137Out of memoryScale up from the Size tab and deploy again. The IP and data stay the same
The tool can't read the instructionsWeb access wasn't approvedApprove it, or paste the file's contents yourself
GitHub commands failNo GitHub loginRun gh auth login
The site opens but shows no dataA missing variableGive the tool the value and deploy again

You don't have to use a tool. The panel address, email and password are on the Overview tab, and you can do the same work by hand in Coolify. You have root access, and you can manage everything from the panel if you prefer. If another tool generated your code, the general guide links to an article for it.

Frequently asked questions

What size should I start with?

The sales page recommends at least 4 GB of RAM, 2 vCores and 40 GB of disk, and the build is the reason. A small Next.js project built on 2 GB, while one with 85 packages ran out of memory at 2 GB and built at 4 GB. You can scale up from your panel later.

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. Your coding tool's subscription is separate. Our fixed-price article helps you run the numbers.

How do I connect my own domain?

Point an A record at the server's IP address, then tell the tool the domain name. It adds the domain and deploys again, and the certificate is issued automatically. Our help article covers the DNS record.

How do I update the app later?

With the webhook in place, you push code with git push and the server builds it. Without one, ask the tool to deploy again or press Redeploy in Coolify.

Where should the database live?

If the app stores user data, the clean option is PostgreSQL from the same panel. With SQLite, mount its folder using Persistent Storage, because the container is rebuilt on every deploy and files written inside it disappear.

Does this work with other coding tools?

The same text works in any tool that can run commands and read web pages. A tool that is only a chat window can't reach a server, so follow our guide to publishing a site made with ChatGPT or Claude instead.

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.