Comment mettre en place un serveur Temporal sous Windows

Comment mettre en place un serveur Temporal sous Windows
Alexandre P. dans Dev - mis à jour le 03-05-2025

Sous Windows 10 et 11, il n'est pas évident de déployer un Temporal accessible de partout sur un réseau local. Pour éviter les problèmes de timeout, il va falloir faire quelques modifications.

Installer Temporal sous Windows

Temporal est livré avec son propre CLI (son exécutable), la commande temporal depuis un terminal. Mais il ne suffit pas de télécharger le CLI .

Pour pouvoir l'installer et l'utiliser vous aurez besoin d'installer Nodejs et d'installer Rust .

Une fois que installé, et le projet Temporal cloné, j'ai pour habitude de lancer Temporal au démarrage de la machine.

Lancer Temporal au boot

Cliquez sur Windows et tapez "run", vous aurez une commande d'exécution qui va s'ouvrir, tapez: "shell:startup".

Un dossier va s'ouvrir. 📁

Il faut savoir que tout ce que vous allez mettre ici se lance automatiquement au démarrage.

Je crée 2 fichiers .bat : un pour le serveur un pour le worker. 🗎

server.bat

cd "<chemin vers le projet temporal>"
yarn start:dev --ui-ip <ip de la machine>

worker.bat

cd "<chemin vers le projet temporal>"
yarn start

La subtilité

Pour éviter d'avoir des problèmes avec un accès distant, j'ai redirigé l'ip de la web interface vers l'ip locale (pour éviter de forcer localhost). Dans le cas contraire votre machine est inaccessible depuis le réseau local.

Cependant, assurez vous de:

  • Basculer en réseau privé (au lieu de public)
  • Ajouter une exception dans votre firewall en TCP sur les port : 7233, 8233

Résultat

temporal-remote.png

Dans mon cas, j'ai redirgé uniquement l'ip de la web interface, donc si vous avez besoin d'accéder au serveur Temporal directement depuis un Worker sur une autre machine, là c'est une autre pair de manches. C'est un scénario que je n'ai pas testé, mais je prendrai le temps de le faire prochainement.

FAQ

Est-ce qu'on peut faire tourner Temporal sous Windows sans installer Node.js ni Rust ?

Non, ces deux outils sont nécessaires pour que le projet Temporal fonctionne correctement sur Windows, en plus du CLI. Télécharger uniquement l'exécutable ne suffit pas.

Pourquoi créer deux fichiers .bat distincts pour le serveur et le worker ?

Le serveur et le worker sont deux processus indépendants qui doivent tourner en parallèle. Les séparer en deux fichiers permet de les placer dans le dossier de démarrage Windows et de les lancer automatiquement à chaque boot sans intervention manuelle.

Pourquoi préciser une IP locale avec --ui-ip au lieu de laisser localhost par défaut ?

Si Temporal écoute sur localhost, il est inaccessible depuis les autres machines du réseau local. En forçant l'IP locale de la machine, l'interface web devient joignable depuis n'importe quel appareil du même réseau.

Quels ports faut-il ouvrir dans le pare-feu Windows ?

Il faut créer des exceptions en TCP pour les ports 7233 (serveur Temporal) et 8233 (interface web). Sans ça, les connexions entrantes seront bloquées même si le serveur tourne correctement.

Est-ce que cette configuration permet aussi à un worker distant de se connecter au serveur Temporal ?

Pas dans l'état actuel décrit dans l'article. Seule l'interface web est redirigée vers l'IP locale. Connecter un worker depuis une autre machine est un cas d'usage non encore testé et qui fera l'objet d'un article ultérieur.

#temporal#windows#server

user picture

Alexandre P.

Développeur passionné depuis plus de 20 ans, j'ai une appétence particulière pour les défis techniques et changer de technologie ne me fait pas froid aux yeux.