Windmill logo

Windmill

Self-hosted platform to turn scripts into internal apps

Windmill lets developers define Python, TypeScript, Go, Bash, SQL or GraphQL scripts, auto-generates UI, chains them into workflows, and self-hosts a fast, sandboxed execution engine.

Windmill banner

Overview

Overview

Windmill is a developer‑focused platform that transforms simple scripts into full‑featured internal tools. Write a minimal script in Python, TypeScript, Go, Bash, SQL, or GraphQL, and the system automatically parses parameters to generate a web UI. Scripts can be linked together into flows, scheduled via cron, or triggered by webhooks, enabling end‑to‑end automation without a separate front‑end team.

Capabilities & Deployment

The backend, built in Rust, runs on a stateless API with workers pulling jobs from PostgreSQL (future support for Kafka/Redis). Execution is sandboxed with Google's nsjail, and runtimes include Deno/Bun for JavaScript/TypeScript, native Python, and Go 1.19.1. Deploy with a single Docker‑Compose command, Helm charts for Kubernetes, or pre‑compiled binaries, making it the fastest self‑hostable workflow engine compared to Airflow, Prefect, and Temporal.

Who Benefits

Ideal for engineering teams that need rapid internal tooling, data pipelines, or custom APIs while retaining full control over security and infrastructure. The platform also supports a CLI and VS Code extension for local development and CI/CD integration.

Highlights

Auto‑generated UI from script parameters
Multi‑language support: Python, TypeScript, Go, Bash, SQL, GraphQL
Fast, sandboxed execution engine with nsjail isolation
Simple self‑hosting via Docker‑Compose or Helm charts

Pros

  • Zero‑code UI creation accelerates internal tool delivery
  • Runs on standard PostgreSQL, no proprietary services required
  • Highly performant: lightweight jobs complete in ~100 ms
  • Open‑source AGPLv3 with optional commercial support

Considerations

  • Self‑hosting requires operational knowledge of Docker/Kubernetes
  • Limited to supported runtimes; adding new languages needs custom integration
  • AGPL licensing may affect redistribution for some organizations
  • Advanced scaling (Kafka/Redis) is planned but not yet default

Managed products teams compare with

When teams consider Windmill, these hosted platforms usually appear on the same shortlist.

Astronomer logo

Astronomer

Managed Apache Airflow service for orchestrating and monitoring data pipelines in the cloud

Dagster logo

Dagster

Data orchestration framework for building reliable pipelines

DronaHQ logo

DronaHQ

Low-code platform for internal apps, workflows, and AI agents with enterprise controls

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Engineering teams building internal dashboards and automation
  • Companies needing a self‑hosted alternative to Retool or Pipedream
  • Data engineers who want to schedule SQL or Python jobs with UI
  • Organizations that prefer open‑source control over their workflow engine

Not ideal when

  • Teams without capacity to manage Docker or Kubernetes deployments
  • Projects requiring out‑of‑the‑box support for languages beyond the listed six
  • Businesses that need a fully managed SaaS solution with zero ops
  • Use cases demanding real‑time streaming pipelines not yet supported

How teams use it

Ad‑hoc data extraction

A Python script pulls data from a database, UI lets analysts run it on demand, and results are saved back to Postgres.

Scheduled report generation

SQL scripts run nightly via cron, UI displays generated PDFs, and stakeholders receive automated email notifications.

Internal API prototyping

Developers write a TypeScript function, auto‑generated UI acts as an API console, and the flow can be invoked by external services.

Multi‑step approval workflow

Bash scripts trigger a sequence of checks, UI presents status at each step, and final approval updates a shared state.

Tech snapshot

HTML40%
Rust24%
Svelte23%
TypeScript9%
JavaScript2%
Python1%

Tags

open-sourceself-hostablelow-codepostgresqlpythontypescriptplatform

Frequently asked questions

Can I run Windmill on Kubernetes?

Yes, Helm charts are provided for Kubernetes deployments.

Which databases are supported?

PostgreSQL is the primary datastore; other stores can be accessed via scripts.

How are scripts sandboxed?

Executions run inside Google's nsjail, isolating file system and network access.

Is there a commercial support option?

Windmill Labs offers dedicated instances and commercial support under a separate license.

What runtimes are available for JavaScript/TypeScript?

Deno (via deno_core) and Bun are used for JavaScript and TypeScript execution.

Project at a glance

Active
Stars
15,578
Watchers
15,578
Forks
869
Repo age3 years old
Last commit3 hours ago
Self-hostingSupported
Primary languageHTML

Last synced 3 hours ago