Guide de déploiement

Semaphore UI : tableau de bord Ansible self-hosted sur VPS

Déployer sur un VPS Cloud →

Tutoriel

Semaphore UI : tableau de bord Ansible self-hosted sur VPS

Déploiement4 min de lecture5 étapes

Gérer une flotte de serveurs avec Ansible depuis le terminal fonctionne bien à petite échelle. Dès que l'équipe grandit ou que les playbooks se multiplient, on perd la visibilité : qui a lancé quoi, quand, avec quel résultat ? Semaphore UI résout ce problème avec une interface web légère — un seul conteneur Docker, une base SQLite embarquée, aucun service externe requis. Chaque membre de l'équipe peut déclencher des tâches, consulter les logs et planifier des exécutions récurrentes depuis son navigateur.

Sommaire· Pourquoi self-héberger un tableau de bord Ansible ?1/5
  1. 01Pourquoi self-héberger un tableau de bord Ansible ?
  2. 02Ce que Semaphore UI apporte sur un VPS ServOrbit
  3. 03Accès sans domaine : tunnel SSH ou sous-domaine ServOrbit
  4. 04Premiers pas avec Semaphore UI sur ServOrbit
  5. 05Gérer les secrets : le Key Store

Pourquoi self-héberger un tableau de bord Ansible ?

La ligne de commande reste l'outil le plus direct pour Ansible, mais elle isole. Quand plusieurs personnes partagent un nœud de contrôle, il n'y a pas de journal partagé, pas de contrôle d'accès fin, pas de planification intégrée. On finit par lancer les playbooks en SSH sur le serveur de contrôle — sans filet.

Semaphore UI apporte ce filet : chaque exécution est tracée, chaque membre de l'équipe se connecte avec son propre compte, et les secrets restent dans un Key Store chiffré plutôt que dans un fichier .env traîner sur le disque. Pour une agence qui gère dix clients ou une équipe DevOps qui maintient une flotte hétérogène, c'est la différence entre « ça marche » et « on sait ce qui s'est passé ».

Ce que Semaphore UI apporte sur un VPS ServOrbit

  • Interface web complète — lancez, planifiez et suivez vos Playbooks Ansible, plans Terraform et scripts Bash depuis un navigateur, sans SSH sur le nœud de contrôle.
  • SQLite embarqué — aucun service externe (PostgreSQL, Redis) : tout l'état vit dans un fichier monté dans un volume Docker.
  • Projets Git-backed — pointez sur votre dépôt Ansible ou Terraform ; Semaphore tire le code à chaque exécution, fidèle au commit de votre branche.
  • Key Store chiffré — clés SSH, mots de passe et tokens API stockés comme secrets nommés, injectés à l'exécution, jamais dans le YAML.
  • Contrôle d'accès par rôle — Viewer, Task Runner ou Admin par projet : définissez précisément qui peut voir les logs et qui peut déclencher un déploiement.
  • Tâches planifiées — cron intégré pour les patches nocturnes, sauvegardes hebdomadaires ou renouvellements de certificats.
  • Streaming de logs en temps réel — suivez la sortie du playbook pendant son exécution avec code couleur et recherche dans l'historique.

Accès sans domaine : tunnel SSH ou sous-domaine ServOrbit

Semaphore UI écoute sur le port 3000 et ne requiert pas de nom de domaine. Pour un accès local depuis votre poste :

ssh -L 3000:127.0.0.1:3000 root@<ip-vps>

Ouvrez ensuite http://localhost:3000 dans votre navigateur. Pour un accès permanent depuis toute l'équipe, attachez un domaine depuis votre espace client ServOrbit — nginx terminera le TLS et proxifiera vers le conteneur — ou activez le sous-domaine gratuit {app}.{slug}.servorbit-dns.com inclus avec chaque VPS.

Premiers pas avec Semaphore UI sur ServOrbit

  1. Déployer depuis le marketplace

    Dans votre espace client ServOrbit, allez dans Marketplace → Déploiement → Semaphore UI et cliquez Déployer. Le VPS est approvisionné sur Ubuntu 24.04 avec Docker préinstallé ; le conteneur démarre automatiquement.

  2. Récupérer vos credentials

    ServOrbit génère un mot de passe admin au moment du provisionnement et le stocke dans votre coffre de credentials. Connectez-vous avec le login admin et ce mot de passe. Changez-le immédiatement depuis Profile → Change Password.

  3. Créer un projet et connecter votre dépôt

    Dans Projects → New Project, donnez un nom à votre projet et ajoutez l'URL de votre dépôt Ansible ou Terraform. Si le dépôt est privé, ajoutez d'abord une clé SSH ou un token d'accès dans le Key Store, puis référencez-le dans les paramètres du projet.

  4. Configurer un inventaire et lancer votre première tâche

    Sous Inventory, créez une entrée listant vos hôtes cibles (liste statique ou script dynamique). Dans Task Templates, définissez une tâche référençant un playbook et l'inventaire que vous venez de créer, puis cliquez Run.

  5. Planifier des tâches récurrentes

    Depuis l'onglet Schedule d'un template, définissez une expression cron pour les exécutions automatiques — patches nocturnes, sauvegardes, renouvellement de certificats. L'historique complet des exécutions est accessible depuis le tableau de bord.

Gérer les secrets : le Key Store

Le point faible de nombreuses installations Ansible est la gestion des secrets : clés SSH traîner dans des fichiers, mots de passe en clair dans des variables. Semaphore UI résout ça avec un Key Store chiffré. Créez une entrée de type « SSH Key », « Login with password » ou « None » (pour les variables d'environnement), donnez-lui un nom, et référencez-le dans vos templates.

Les secrets ne sont jamais écrits dans les fichiers YAML ni dans les logs. La clé de chiffrement (SEMAPHORE_ACCESS_KEY_ENCRYPTION) est générée par ServOrbit au provisionnement et stockée dans votre coffre de credentials — elle ne transite jamais en clair.

Une flotte à piloter depuis un navigateur ?

ServOrbit déploie Semaphore UI en un clic sur Ubuntu 24.04 — credentials générés, port lié en loopback, prêt en quelques minutes.

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.

Écrire sur WhatsApps'ouvre dans un nouvel onglet