How do you self-host Windmill in 2026?
Quick Answer: As of April 2026, Windmill self-hosts via Docker Compose for single-node setups or the official Helm chart for Kubernetes. Both deployments require PostgreSQL 14+ for persistence; the Community Edition is free under AGPL while Enterprise Edition requires a license key.
Self-Hosting Windmill
Windmill is an open-source platform for scripts, flows, and apps. Self-hosting is supported on a single VM (Docker Compose) or Kubernetes (Helm).
Step 1 — Pick an Edition
- Community Edition (CE) — Free under AGPL. Includes core scripting, flows, and apps. Suitable for most teams.
- Enterprise Edition (EE) — Adds SSO/SAML, audit logs, and high-throughput workers. License keys are paid.
Step 2 — Single-Node Docker Compose
The fastest setup uses the official docker-compose.yml:
curl -O https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml
docker compose up -d
This brings up the Windmill server, a worker, a worker for native scripts, and a Postgres database. The UI is available at http://localhost:8000.
Step 3 — Kubernetes Helm Chart
For production use the Helm chart in the windmill-labs/windmill-helm-charts repo:
helm repo add windmill https://windmill-labs.github.io/windmill-helm-charts
helm install windmill windmill/windmill --namespace windmill --create-namespace
The chart deploys the windmill-app (UI + API), windmill-worker pods (scaled independently), and assumes an external Postgres for production. Worker tags (e.g., gpu, python, bash) let teams pin scripts to specific worker pools.
Step 4 — Operate
Configure SMTP for invite emails, set BASE_URL for correct webhook signing, and enable backups on the Postgres database. Use the OAuth/OIDC integration to connect Google or Microsoft accounts as the primary auth method.