
Deploy Windmill on Your Own Server
Windmill is an open-source alternative to Retool, Airplane and n8n.
Want to deploy Windmill on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is Windmill?
Windmill is an open-source alternative to Retool, Airplane and n8n to build all your internal tools (endpoints, workflows, UIs) through simple scripts - in Typescript, Python, Go & Bash - and low code builders.
Self-Host Windmill
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
Deploy
Copy the configuration and run it on your server.
services:
windmill:
image: ghcr.io/windmill-labs/windmill:1.434.1
environment:
DATABASE_URL: postgres://postgres:707feb09a034836e@windmill-postgres/windmill?sslmode=disable
MODE: server
depends_on:
- windmill-postgres
windmill-lsp:
image: ghcr.io/windmill-labs/windmill-lsp:1.434.1
volumes:
- windmill-lsp-cache:/root/.cache
windmill-postgres:
image: postgres:16-alpine
environment:
POSTGRES_DB: windmill
POSTGRES_PASSWORD: 707feb09a034836e
POSTGRES_USER: postgres
volumes:
- windmill-postgres-data:/var/lib/postgresql/data
windmill-worker:
image: ghcr.io/windmill-labs/windmill:1.434.1
environment:
DATABASE_URL: postgres://postgres:707feb09a034836e@windmill-postgres/windmill?sslmode=disable
MODE: worker
WORKER_GROUP: default
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- windmill-worker-dependency-cache:/tmp/windmill/cache
depends_on:
- windmill-postgres
windmill-worker-native:
image: ghcr.io/windmill-labs/windmill:1.434.1
environment:
DATABASE_URL: postgres://postgres:707feb09a034836e@windmill-postgres/windmill?sslmode=disable
MODE: worker
WORKER_GROUP: native
depends_on:
- windmill-postgres
volumes:
windmill-lsp-cache: {}
windmill-postgres-data: {}
windmill-worker-dependency-cache: {}
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:8000
Why Self-Host Windmill?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Docker Image
ghcr.io/windmill-labs/windmill:${app_version}Official Docs
windmill.devWant to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"