17.5k stars · AGPL-3.0 (the sidebar also lists Apache-2.0 for parts of the repository; LICENSE-AGPL confirmed as GNU AGPL v3 on 2026-09-09) · v1.808.0 (2026-09-09), read from /releases/latest — released the same day as the edition
Turns a script you already have into a scheduled job with a generated web form and a log of every run.
▶Repo detailsthe review · specs · pros & cons · install
What it is
Windmill is a developer platform that runs scripts. It supports Python, TypeScript, Go, Bash and SQL. It reads the arguments of your function and builds a small form from them, and it can join several scripts into one flow.
Why it matters
ScalpingMate is full of scripts that pull data, run a test, and write a report. Those run when you sit down and run them. Here they run at six in the morning and tell you if they failed. The form it generates also means you can change one number and press a button, instead of opening an editor and hunting for a variable.
- It builds a usable web form from your function's arguments. You write no front-end code at all.
- It keeps every run, with the values used and the output produced. You can see why last Tuesday's result was wrong.
- Secrets, schedules, retries and queues are handled for you. That is a large amount of code you do not have to write or maintain.
- The licence is AGPL-3.0. Running it privately for your own work is fine. Offering Windmill itself to other people over the web would oblige you to publish your changes.
- It is a big program. Postgres plus worker processes, 2 GB of memory and upwards.
- It overlaps Procrastinate (Edition 5 #10) and entry #1 above. The honest split is this. Windmill runs your scripts. Activepieces connects other people's products.
mkdir -p ~/windmill && cd ~/windmill curl -fsSL https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml curl -fsSL https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile -o Caddyfile sudo docker compose up -d # Then open http://your-server:8000 and create the first account.




