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.
To get started, make sure Docker is running and execute the following commands:
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 -dGo 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.
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.
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.
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.
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.
Frequently asked questions
Build your internal platform on Windmill
Scripts, flows, apps, and infrastructure in one place.