Back to all templates
Windmill logo

Windmill

Development512MB+ RAM

Developer platform for scripts, workflows, and UIs

automationscriptsworkflowsdeveloper

Deploy Windmill in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Windmill

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Windmill on a VPS with Server Compass

Use the Windmill template in Server Compass to deploy a self-hosted developer platform for scripts and workflows on your VPS, then verify the Windmill web UI in a browser.

About 7 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Server Compass Apps tab before creating a Windmill app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Windmill

Use the template picker search to find Windmill in the Server Compass template catalog.

Searching for Windmill in the Server Compass template picker
4
Step 4

Select the Windmill template

Choose the Windmill template. Server Compass fills the Windmill web service, public base URL, and Postgres password.

Windmill template selected in Server Compass
5
Step 5

Review the Windmill settings

Confirm the app name and compose services. In this run, the app was named windmill-demo and used host port 8000.

Reviewing Windmill project settings and compose services
6
Step 6

Deploy Windmill

Review the generated environment values, confirm the port is available, and click Deploy Now.

Reviewing Windmill environment variables and port before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Windmill image, starts the container, and verifies the stack.

Server Compass deploying the Windmill template on the VPS
8
Step 8

Confirm Windmill is running

After deployment finishes, return to the Apps tab and confirm the Windmill app is marked Running with its application URL available.

Windmill template running in the Server Compass Apps tab
9
Step 9

Open Windmill in the browser

Open the application URL in a browser. The Windmill web UI confirms the stack is reachable.

The deployed Windmill web UI loaded in a browser

After Windmill Opens

  • Sign in with the default Windmill credentials and change the password immediately.
  • Configure HTTPS, workspace permissions, workers, secrets, SMTP, and integration credentials before production use.
  • Add a domain and HTTPS before exposing Windmill to users.
  • Back up the Windmill Postgres volume before relying on it for production workflows.

Verified Result

The Windmill web UI loaded successfully in a browser.

Windmill deployment questions

What does the Windmill template deploy?

It deploys Windmill with a Postgres database service.

Which port did the tutorial use?

The tutorial verified Windmill on host port 8000, which maps to the Windmill web service on container port 8000.

Why does the guide stop at the first-run web UI?

The tutorial verifies the clean Windmill web UI because scripts, flows, workers, secrets, and external integrations depend on the production server.

Should this become a blog post?

No. The deployment guide should live on the Windmill template detail page and be linked from the reusable template deployment docs page.

Terminal Deployment

Windmill CLI Deployment

Deploy Windmill the traditional way with SSH and Docker Compose.

1

Start a Secure Shell Session

Open your terminal and connect to your server. Replace the IP address with your VPS IP.

terminal
# SSH into your server
ssh root@your-server-ip

# Using a custom SSH key
ssh -i ~/.ssh/id_rsa root@your-server-ip

First time? Need Docker? Install it: curl -fsSL https://get.docker.com | sh

2

Prepare Your Workspace

Set up a clean directory for your application.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/windmill
cd ~/apps/windmill
3

Set Up Container Configuration

Set up the container stack using this Docker Compose configuration:

docker-compose.yml
services:
  windmill:
    image: ghcr.io/windmill-labs/windmill:main
    ports:
      - "8000:8000"
    environment:
      - DATABASE_URL=postgres://windmill:<your-db-password>@db:5432/windmill
      - BASE_URL=<your-base-url>
    restart: unless-stopped
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    environment:
      - POSTGRES_USER=windmill
      - POSTGRES_PASSWORD=<your-db-password>
      - POSTGRES_DB=windmill
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  postgres_data:
Deployment Settings
PORTHost port(default: 8000)
BASE_URLBase URL
DB_PASSWORDDB password
4

Bring Up the Application

Launch your application stack in the background.

terminal
# Start the containers in detached mode
docker compose up -d

# Check if containers are running
docker compose ps

# View logs
docker compose logs -f
5

Configure Firewall

Configure your firewall to permit external connections.

terminal
# Allow the application port through firewall
sudo ufw allow 8000/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:8000
Skip the Terminal

Prefer a visual interface? Use Server Compass.

Server Compass makes deploying Windmill effortless. Visual setup, one-click deploy, done.

  • Visual configuration UI
  • One-click deployment
  • Automatic SSL setup
  • Zero-downtime updates
  • Built-in monitoring
  • One-click rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Windmill with Server Compass, complete these steps to finish setup

1

Log in with default credentials

2

Change password

3

Create scripts and flows

Need help? Check out our documentation for detailed guides.

Windmill FAQ

Common questions about self-hosting Windmill

How do I deploy Windmill with Server Compass?

Simply download Server Compass, connect to your VPS, and select Windmill from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Windmill?

Windmill requires a minimum of 512MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Windmill data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Windmill backup and restore procedures.

How do I update Windmill to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Windmill image will be pulled and deployed with zero downtime.

Is Windmill free to self-host?

Windmill is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Windmill?

Download Server Compass and deploy Windmill to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass