Windmill Labs
Windmill

Self-hosting

Your infrastructure, zero maintenance

Deploy Windmill with Docker Compose or Kubernetes in minutes. Updates, scaling, and configuration are handled for you.

Note of intent

Windmill is open source under the AGPLv3 license. We believe infrastructure software should be transparent: you should be able to read every line of code that runs your jobs, audit it, and fix it yourself if needed. Self-hosting is not a second-class option. There is no phone-home, no license server, no feature gating on the open-source edition. Your data stays on your machines, your secrets never leave your network. The Enterprise edition adds SAML/SCIM, audit logs, Git sync, and priority support on top of the same core engine.

One-command Docker deploy

A single docker compose up -d starts the full Windmill stack: server, workers, PostgreSQL, and LSP for language intelligence. Database migrations run automatically on startup. Caddy handles TLS termination out of the box.

Screenshot coming soon

To get started, make sure Docker is running and execute the following commands:

bash
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile -o Caddyfile
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/.env -o .env

docker compose up -d

Go to http://localhost and voila.

Kubernetes and Helm

The official Helm chart provisions server, worker, and LSP deployments. ConfigMaps manage environment variables. Guides are available for EKS, ECS, GCP, and Azure.

Screenshot coming soon

Works on any cloud

Windmill runs wherever Docker or Kubernetes runs. Deployment guides are available for AWS, GCP, Azure, Hetzner, Fly.io, Render, Digital Ocean, and others. It works with any PostgreSQL instance, including managed databases like RDS, Cloud SQL, or Azure Database.

Screenshot coming soon

Simple architecture

Windmill has three components: the server (API + UI), workers (job execution), and PostgreSQL (state + queue). Everything is stateless except the database, so each layer scales independently.

Screenshot coming soon

Automatic upgrades

Upgrading Windmill means pulling a new Docker image and restarting containers. Database migrations run automatically on startup with no manual steps. A /api/health endpoint and built-in Prometheus metrics are available for monitoring.

Screenshot coming soon

Enterprise on your infrastructure

The Enterprise edition includes SAML/SCIM authentication, S3 dependency caching, dedicated workers, multiplayer editing, and extended audit log retention. It is the same product as Windmill Cloud, running on your own infrastructure. Air-gapped deployments are supported with offline images and internal registries.

Screenshot coming soon

Frequently asked questions

Build your internal platform on Windmill

Scripts, flows, apps, and infrastructure in one place.