How to Deploy Windsurf Projects on Vultr Using Coolify

Updated on 02 April, 2026
Create app with Windsurf, push to GitHub, and deploy on Coolify with HTTPS and auto redeploys.
How to Deploy Windsurf Projects on Vultr Using Coolify header image

Windsurf is an AI-powered, agentic Integrated Development Environment (IDE) built on VS Code that generates complete full-stack applications from natural language prompts. Coolify is a self-hosted platform-as-a-service (PaaS) that manages Docker container builds, deployments, and reverse proxy routing through a web dashboard.

This guide explains how to create a full-stack application using Windsurf, pushing the source code to GitHub, and deploying it on Vultr using Coolify.

Prerequisites

Set Up Windsurf

Download and install Windsurf, then sign in to activate the Cascade AI agent.

  1. Download Windsurf and complete the installation process.
  2. Launch the application.
  3. Click Get Started, and configure the initial workspace preferences.
  4. Log in to your Windsurf account in the browser page.

Create an Application Using AI

The Cascade agent generates full-stack application files from a text prompt. Push the generated source code to GitHub.

  1. Click Generate a New Project to initialize the AI agent.

  2. Enter a detailed prompt that describes the application and instructs the agent to make it Coolify-compatible. Include all necessary features and the desired service stack, and request either a Dockerfile or a docker-compose.yaml file if the application requires multiple services.

  3. Press Enter to generate the application files.

  4. Press Ctrl + Backtick or Cmd + Backtick on Mac to open the integrated terminal.

  5. Optionally, test the application locally using the instructions in the generated README.md file.

  6. Create a new repository on GitHub.

  7. Initialize the local Git repository.

    console
    $ git init
    
  8. Stage the generated files for commit.

    console
    $ git add .
    
  9. Commit the files to the local repository.

    console
    $ git commit -m "Initial commit"
    
  10. Set the default branch to main.

    console
    $ git branch -M main
    
  11. Add your GitHub repository as the remote origin. Replace YOUR_REPOSITORY_URL with your repository URL.

    console
    $ git remote add origin YOUR_REPOSITORY_URL
    
  12. Push the source code to GitHub.

    console
    $ git push -u origin main
    

Access the Coolify Dashboard

The Vultr Marketplace app provides the Coolify dashboard address in the instance management page. Open it to complete the initial account setup.

  1. View your Vultr instance’s management page.
  2. In the App Instructions section, find the Coolify dashboard address and open it in a new tab.
  3. Set your administrator account credentials in the initial configuration wizard.

Configure a Dashboard Domain

Assigning a domain to your Coolify instance gives GitHub a stable, publicly reachable webhook endpoint and enables HTTPS for the dashboard. Coolify uses this domain when registering the GitHub App.

  1. At your DNS registrar, create an A record pointing a subdomain to your server's public IP address, for example coolify.example.com.
  2. Open the Coolify dashboard at http://YOUR_SERVER_IP:8000.
  3. Click Settings in the left sidebar.
  4. Under General, enter your fully-qualified domain with the https:// scheme in the URL field, for example https://coolify.example.com.
  5. Click Save.
  6. Open https://coolify.example.com in a new tab to confirm the dashboard loads over HTTPS.

Connect GitHub Repository

Authorize Coolify to retrieve your application's source code from the GitHub repository.

  1. Click Sources in the left sidebar of the Coolify dashboard.
  2. Click Add.
  3. In the New GitHub App dialog, optionally update the app name. Leave the Organization field empty to use your personal GitHub account.
  4. Click Continue.
  5. On the GitHub App configuration page, open the Webhook Endpoint dropdown. It lists your server IP, your configured domain, and localhost. Select your domain so GitHub can reach the endpoint over HTTPS.
  6. Click Register Now. Coolify redirects you to GitHub.
  7. Click Create GitHub App on GitHub to register the app. GitHub redirects you back to Coolify.
  8. On the GitHub App page in Coolify, click Install Repositories on GitHub. GitHub opens the app installation page.
  9. Select All repositories or Only select repositories, then click Install.

Create a New Project

Projects allow you to isolate Coolify applications into separate environments.

  1. Click Projects in the left sidebar.
  2. Click Add.
  3. Type a name for your project.
  4. Click Continue to create your project.

Configure the Application

Link your GitHub repository to a new Coolify resource and configure the build settings before triggering the first deployment.

  1. Click Add Resource inside your project’s page.
  2. Choose Private Repository (with GitHub App) or Public Repository, depending on your repository visibility.
  3. Choose your GitHub app.
  4. Select your application repository from the dropdown.
  5. Set the branch to main.
  6. Select Docker Compose or Dockerfile in the Build Pack dropdown depending on your project.
  7. Click Continue. Coolify opens the application’s Configuration page.
  8. In the Domains field, click Generate Domain to assign a temporary .sslip.io domain for testing.
  9. Click Save.

Add a Database

Provision a managed database before deploying so the application can connect to it on startup.

  1. Navigate back to your Coolify project page.
  2. Click + New Resource.
  3. Select Database and choose the database type that matches your application.
  4. Enter a name for your database and click Create.
  5. Click Start to deploy the database container.
  6. Copy the internal connection URL from the database configuration page.

Configure Environment Variables

Set the database connection URL and any other required secrets before the first deploy.

  1. Open your application’s configuration page and click Environment Variables in the left sidebar.
  2. Click + Add.
  3. Enter DATABASE_URL as the name and paste the internal connection URL as the value.
  4. Add any other variables your application requires.
  5. Click Save.

Start the Deployment

Trigger the build and verify the application starts correctly using the generated test domain.

  1. Click Deploy in the top right corner of the application’s configuration page.

  2. Click Links in the top navigation bar.

  3. Click the generated .sslip.io domain link and verify the application loads.

    If the deployment fails, click the latest running instance of deployment under the Deployment tab to view the full error output. Copy the error and share it with the Windsurf Cascade agent to diagnose and fix the issue. Once the code is updated, push the fix to trigger a new deployment cycle:

    console
    $ git add .
    $ git commit -m "Fix deployment error"
    $ git push origin main
    

    Coolify detects the push and redeploys automatically.

Configure Custom Domain with HTTPS

Replace the temporary test domain with your own domain. Coolify provisions a Let’s Encrypt certificate automatically when the domain uses https://.

  1. Open your application’s Configuration page.
  2. In the Domains field, replace the .sslip.io address with your custom domain, for example https://app.example.com. Include the https:// prefix to trigger automatic Let’s Encrypt certificate provisioning.
  3. Click Save, then click Redeploy.
  4. Once redeployed, open your custom domain and confirm the padlock icon is visible in the address bar.

Conclusion

Your containerized application, developed using the Windsurf agentic IDE, has been successfully deployed on Vultr via Coolify. Your application is now accessible via secure HTTPS connection and benefits from automated redeployments upon repository pushes. For more information and advanced configuration options, visit the official Coolify documentation.

Tags:

Comments