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.

Last updated: | By Rafal Fila