windmill
Open-source platform to build internal tools, workflows and APIs — a developer-first alternative to Retool, Temporal and Airflow. Write scripts in Python, TypeScript, Go, Bash and SQL, compose them into workflows, and deploy as apps. Includes PostgreSQL backend and Caddy reverse proxy.
windmill: Open-source platform to build internal tools, workflows and APIs, a developer-first alternative to Retool, Temporal and Airflow. Write scripts in Python, TypeScript, Go, Bash and SQL, compose them
Deploy from this page: TryDirect provisions the server, starts the services, generates the deployment credentials and wires the 2 containers together. Nothing is shared between deployments and no secrets ship with the stack.
What's included
| Service | Port | Description |
|---|---|---|
| app | 8000 (public) | ghcr.io/windmill-labs/windmill:latest |
| postgres | 5432 (local only) | Database |
What you configure
- Domain (
commonDomain): the hostname the stack is served on - Defaults provided:
BASE_URL,DATABASE_URL,MODE,POSTGRES_DB,POSTGRES_USERship prefilled and can be adjusted in the deploy form
All 1 credential (passwords and keys) are generated per deployment and stored in your project's secret store.
Requirements
- A cloud account connected to TryDirect (the deploy form provisions
the server) or one of your own servers
- A server that fits 2 containers (2 GB RAM or more recommended)
- A DNS record for the domain you set in the deploy form
Alternative: deploy with the Stacker CLI
Everything above also works from the command line:
git clone https://github.com/trydirect/awesome-selfhosted-stacker.git
cd awesome-selfhosted-stacker/stacker-projects/windmill
# Generate secrets
cp .env.example .env
./scripts/generate-secrets.sh
# Deploy
stacker deploySupported Clouds