Windmill auf einem VPS selbst hosten: Komplettanleitung 2026
Stellen Sie Windmill auf Ihrem eigenen VPS mit Docker Compose bereit. Erstellen Sie Skripte, Workflows und interne Tools in Python, TypeScript, Go.
Why Self-Host Windmill?
Windmill is an open-source developer platform for building scripts, workflows, and internal tools. It supports 15+ programming languages including Python, TypeScript, Go, Bash, Rust, PHP, Java, C#, and R. Windmill claims to be 13x faster than Apache Airflow for workflow execution, making it one of the most performant orchestration platforms available.
Recent 2026 updates have added AI agent support (OpenAI, Anthropic, Gemini, DeepSeek), Workflows as Code v2 with checkpoint-based orchestration, full-code React/Svelte apps, and data tables — making it a comprehensive platform that goes well beyond simple automation.
Self-hosting Windmill gives you unlimited script executions, full data privacy, and access to the Community Edition (AGPLv3) at no cost beyond your VPS hosting.
What You'll Need
Before we start, make sure you have:
- A VPS with at least 4 GB RAM and 2 vCPU (we recommend Hostinger VPS KVM 1 at $6.49/mo or Contabo at $4.50/mo for 8 GB RAM)
- A domain name pointed to your VPS IP address
- Basic familiarity with Linux command line
- SSH access to your server
Windmill is more resource-intensive than simpler tools like Node-RED. The official recommendation is 1 worker per vCPU and 1-2 GB RAM per worker. For a small setup with 1-2 workers, 4 GB RAM is the practical minimum. For running multiple concurrent jobs, 8 GB RAM with 4 vCPU is recommended.
Step 1: Prepare Your VPS
Connect to your VPS via SSH and update the system:
ssh root@your-server-ip
apt update && apt upgrade -y
Step 2: Install Docker and Docker Compose
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
apt install docker-compose-plugin -y
Step 3: Download the Official Docker Compose Files
Windmill provides an official Docker Compose setup. Download all required files:
mkdir -p /opt/windmill && cd /opt/windmill
curl -o docker-compose.yml https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/windmill-labs/windmill/main/.env
curl -o Caddyfile https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile
Step 4: Configure Environment
Edit the .env file to set your database password and domain:
nano .env
Key settings to update:
DATABASE_URL=postgres://postgres:YOUR_SECURE_PASSWORD@db/windmill?sslmode=disable
WM_BASE_URL=https://windmill.yourdomain.com
The official Compose file includes these services:
- PostgreSQL 16 — Stores all state, job queues, and configuration
- Windmill Server — API and web UI (port 8000 internally)
- Windmill Workers — Job execution (default: 3 replicas with 2 GB memory limit each)
- Windmill Native Worker — Lightweight in-process jobs
- Caddy — Reverse proxy (port 80/443)
- Docker-in-Docker — Sidecar for running container-based tasks
Step 5: Start Windmill
docker compose up -d
The first startup pulls several images and initializes PostgreSQL. Monitor the progress:
docker compose logs -f windmill_server
Once ready, access Windmill at http://your-server-ip. The default login credentials are:
- Email:
[email protected] - Password:
changeme
Change the default password immediately after your first login.
Step 6: Configure SSL
The official setup uses Caddy as the reverse proxy, which can automatically handle SSL certificates.
Edit the Caddyfile and replace the domain:
windmill.yourdomain.com {
reverse_proxy windmill_server:8000
@ws {
path /ws/*
}
reverse_proxy @ws windmill_extra:3000
}
Update docker-compose.yml to expose port 443 on the Caddy service and set the BASE_URL environment variable.
Alternatively, if you prefer Nginx as your reverse proxy, remove the Caddy service and configure Nginx separately:
apt install nginx certbot python3-certbot-nginx -y
server {
listen 80;
server_name windmill.yourdomain.com;
location / {
proxy_pass http://localhost:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
certbot --nginx -d windmill.yourdomain.com
Step 7: Tune Worker Count for Your VPS
If your VPS has limited resources, reduce the worker count in docker-compose.yml:
windmill_worker:
deploy:
replicas: 1 # Reduce from 3 to 1 for small VPS
resources:
limits:
memory: 1024M # Reduce from 2048M
The rule of thumb: 1 worker per vCPU. A 2-vCPU VPS should run 1 standard worker + 1 native worker.
What Can You Build with Windmill?
Windmill is incredibly versatile:
- ETL pipelines — Extract, transform, and load data from APIs and databases
- Cron jobs — Schedule recurring scripts in any supported language
- Internal tools — Build custom admin panels and dashboards
- Webhooks — Create HTTP endpoints that trigger workflows
- AI workflows — Chain LLM calls with OpenAI, Anthropic, or local models
- Approval flows — Build human-in-the-loop workflows with suspend/resume
Optimization Tips
- Use native workers for lightweight tasks — Native workers handle simple scripts with much less overhead than standard workers
- Set up backups — Back up the PostgreSQL database regularly:
docker exec windmill-db-1 pg_dump -U postgres windmill > /backups/windmill-$(date +%Y%m%d).sql - Monitor resources — Check worker utilization with
docker statsand the built-in DB Health Diagnostic Dashboard in Instance Settings - Enable Git Sync — Use Windmill's Git Sync v2 feature to version-control your scripts and flows
- Keep it updated — The
maintag always points to the latest release:docker compose pull && docker compose up -d
Which VPS Should You Choose?
Based on our testing, here are our top recommendations for hosting Windmill:
- Contabo — Best value for Windmill. 4 vCPU and 8 GB RAM at $4.50/mo lets you run 3+ workers comfortably.
- Hostinger VPS — Great balance of price and performance. KVM 2 plan ($8.49/mo) with 8 GB RAM is ideal.
- DigitalOcean — Best developer experience. The $24/mo Pro plan (2 vCPU, 4 GB) works for small setups.
Conclusion
Windmill is a powerhouse for developers who want a self-hosted platform that handles scripts, workflows, and internal tools in one place. With support for 15+ programming languages and blazing-fast execution, it's a serious alternative to both Retool and Temporal.
Get started with Contabo for the best resource-to-price ratio, or Hostinger if you want an easier setup experience. You'll have Windmill running in under 30 minutes.
Bereit zum Automatisieren? Holen Sie sich heute einen VPS.
Starten Sie noch heute mit Hostinger VPS-Hosting. Sonderpreise verfügbar.
* Affiliate-Link — wir erhalten möglicherweise eine Provision ohne zusätzliche Kosten für Sie