Guide de déploiement

Installer Windmill sur un VPS : automatisation self-hosted

Déployer sur un VPS Cloud →

Automatisation5 min de lecture

Installer Windmill sur un VPS : automatisation self-hosted

Windmill est une plateforme open source qui transforme du code (Python, TypeScript, Go, Bash, SQL) en workflows, API et interfaces internes. Pensée pour les développeurs, elle combine la souplesse du code et la rapidité du no-code. Self-hébergée sur un VPS, elle devient votre moteur d'automatisation et votre app builder interne, sans dépendre d'un SaaS.

Pourquoi self-héberger Windmill sur un VPS

Windmill s'exécute en continu sur votre serveur et expose chacun de vos scripts comme une API REST signée, une tâche planifiée ou une interface auto-générée. Contrairement à une fonction serverless, il n'y a pas de démarrage à froid ni de limite d'exécution imposée par un tiers. Vos scripts Python, TypeScript ou Bash accèdent directement aux bases de données et aux services internes de votre VPS, sans traverser une passerelle cloud. Le moteur est écrit en Rust : il consomme moins de 100 Mo de RAM à vide et démarre en quelques secondes même sur le plus petit VPS Cloud.

Bénéfices concrets du self-hosting

  • Aucun coût à l'exécution : des milliers de jobs par jour sans facture d'infonuagique.
  • Accès direct aux bases et services internes du VPS, sans tunnel.
  • Secrets et clés API stockés dans Windmill et jamais sortis de votre serveur.
  • Formulaires d'entrée et endpoints REST générés automatiquement pour chaque script.
  • Workers additionnels ajoutables à chaud pour absorber les pics de charge.
  • Versionning Git intégré — chaque modification de script est traçable.

Prérequis techniques

Windmill nécessite au minimum 2 vCPU et 4 Go de RAM pour faire tourner le serveur, un worker par défaut et un worker natif contre PostgreSQL 16. Comptez 10 Go de disque pour les logs, le cache de worker et les volumes de base de données. Ubuntu 22.04 ou 24.04 avec Docker installé suffit. Aucun GPU n'est requis. Si vous prévoyez d'exécuter des workers Python lourds (ML, pandas sur de grands jeux de données), optez pour 4 vCPU et 8 Go de RAM.

Déployer Windmill avec Docker Compose

01

Cloner le dépôt officiel

Connectez-vous en SSH à votre VPS et récupérez le docker-compose.yml officiel :

git clone https://github.com/windmill-labs/windmill.git && cd windmill

Pour la production, épinglez une version stable (consultez les releases GitHub). La branche main est stable mais peut inclure des correctifs en cours de test.

02

Générer les secrets d'environnement

Copiez .env.example en .env et renseignez les variables :

cp .env.example .env

Pour DATABASE_URL, vous pouvez utiliser le PostgreSQL inclus dans la stack (--profiles pg up) ou pointer vers une instance existante. Renseignez BASE_URL avec https://votre-domaine.com — Windmill l'utilise pour signer les webhooks et construire les URLs de retour des flows.

03

Démarrer la stack

Lancez le serveur, le worker par défaut et le worker natif :

docker compose --profile pg up -d

Vérifiez que les quatre conteneurs sont Up avec docker compose ps. Le serveur écoute sur le port 8000 de la boucle locale.

04

Configurer le reverse proxy nginx

Windmill expose le port 8000 sur 127.0.0.1. Configurez nginx pour proxifier et terminer le TLS :

location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
}

Les en-têtes Upgrade et Connection sont nécessaires pour les WebSockets utilisés par l'éditeur en temps réel.

05

Se connecter et sécuriser

Ouvrez https://votre-domaine.com, connectez-vous avec [email protected] / changeme, puis allez dans Paramètres → Utilisateurs pour définir un mot de passe fort et optionnellement changer l'adresse e-mail admin. L'accès direct à l'éditeur sans authentification est la faille la plus courante sur les instances Windmill exposées publiquement.

L'installer en un clic depuis le Marketplace ServOrbit. Si vous préférez éviter la configuration manuelle, le Marketplace ServOrbit provisionne Windmill automatiquement — serveur, deux workers, PostgreSQL 16, reverse proxy nginx et certificat Let's Encrypt — en quelques minutes. La section « Premier accès » de votre espace client indique l'URL et les identifiants générés. Rendez-vous sur la [fiche Windmill](/marketplace/automatisation/windmill) pour démarrer.

Déployez Windmill en un clic sur votre VPS ServOrbit

Le Marketplace ServOrbit provisionne automatiquement Windmill avec PostgreSQL 16, deux workers et un reverse proxy — vos scripts tournent en production en quelques minutes, sans ligne de configuration.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.