WP Control, panneau de contrôle DevOps WordPress self-hosted


Tous mes sites WordPress tournent sur mon propre serveur, conteneurisés avec Docker. Infrastructure solide, maîtrisée de bout en bout, mais avec un point de friction quotidien : certaines opérations d’administration m’obligeaient à être devant mon PC.

Vider les caches. Redémarrer un conteneur. Régénérer des permaliens. Des tâches de 30 secondes qui devenaient contraignantes dès que j’étais en déplacement ou simplement loin de mon bureau.

L’idée : me libérer de cette contrainte

La solution ne devait pas être complexe. Pas question de déployer une usine à gaz pour des tâches simples. L’objectif : une interface web accessible depuis mon téléphone, sécurisée, qui me permette de lancer mes tâches en deux clics.

J’ai connecté Semaphore UI à mes projets GitLab via un script Python idempotent. Semaphore est un outil open source d’automatisation de tâches, une interface web propre au-dessus d’Ansible, qui peut aussi exécuter des scripts shell. Exactement ce qu’il me fallait.

La sécurité, d’abord

Exposer une interface d’administration sur internet, même derrière un reverse proxy, ça se fait avec soin. Voici les choix techniques retenus :

  • Double authentification TOTP, un mot de passe ne suffit pas.
  • Proxy Docker socket filtré, l’API Docker brute n’est jamais exposée directement. Un proxy intermédiaire filtre les requêtes autorisées.
  • Chiffrement AES des clés, les credentials ne transitent pas en clair.
  • Zéro dépendance à un service tiers payant, tout tourne sur ma propre infra, sous mon contrôle.

Ce que ça donne concrètement

Pour l’instant, trois tâches opérationnelles :

  1. Vider les caches WP Rocket et Redis d’un site
  2. Redémarrer un conteneur Docker
  3. Régénérer les permaliens WordPress

Trois tâches, mais une architecture pensée pour s’étendre. Chaque nouvelle tâche s’ajoute en quelques minutes, un nouveau job dans Semaphore, un script shell ou Ansible, et c’est disponible depuis l’interface mobile.

Le champ des possibles

Ce qui m’intéresse dans cette approche, c’est la surface d’expansion. Les prochaines tâches candidates :

  • Déclenchement de sauvegardes à la demande
  • Mise à jour de plugins WordPress sur un site spécifique
  • … ?

Un outil vivant, qui grandira avec les besoins. Et qui me rappelle qu’une bonne infrastructure, c’est aussi savoir se construire les outils qu’on aurait voulu trouver tout faits.