Aller au contenu
~/lucas

← Retour aux projets

Administration du serveur du club

Le serveur qui héberge les applications du club et quelques-uns de mes projets, décrit en code : déploiements, sauvegardes chiffrées hors site et contrôles de nuit.

En productionCode source privé

  • Ubuntu
  • Docker
  • Coolify
  • Bash
  • Node.js

Contexte

Les applications du club vivaient sur un hébergement mutualisé et des plateformes managées. J’ai monté un serveur privé virtuel (VPS), administré avec Coolify, qui héberge désormais le site, le tournoi, les permanences, les pronostics et quelques projets perso.

Tout est versionné dans un dépôt privé, et je ne publie ici ni adresse, ni identifiant, ni détail du réseau.

Ce que j’ai fait

  • Les déploiements décrits en code. Les ressources Coolify sont déclarées dans le dépôt, qui fait foi. L’outil de synchronisation ne supprime rien et ne lit aucun secret.
  • Un serveur durci. En l’installant, j’ai découvert que Docker contournait le pare-feu de l’hôte, IPv6 compris. Je l’ai corrigé dès le lendemain, avec des règles dédiées et un pare-feu côté hébergeur en plus.
  • Des sauvegardes chiffrées, hors du serveur. Les archives sont chiffrées avec age, et la clé privée ne reste pas sur le serveur : même compromis, il ne peut pas les lire. Je les garde 30 jours, et j’ai testé une restauration, qui a réussi.
  • Des contrôles chaque nuit : DNS, écart entre Coolify et le dépôt, état des sites, certificats, disque, fraîcheur des sauvegardes. Les alertes arrivent par e-mail, avec un rapport chaque semaine.
  • Une surveillance depuis l’extérieur, en plus des alertes du serveur : un serveur qui tombe ne peut pas prévenir qu’il est tombé.

Ce que j’en retiens

Le jour de la bascule du site vers le nouveau serveur, j’ai changé le DNS avant que le proxy connaisse le domaine : environ dix minutes de coupure. Depuis, l’ordre est écrit dans la procédure : le proxy d’abord, le DNS ensuite.

// Pour mes projets de 2026, je travaille avec des agents IA (Claude Code) : je cadre le besoin, j’écris la spécification, puis je relis et je valide le code.