Découverte de Talos Linux, une distribution innovante dédiée à Kubernetes, axée sur l'immuabilité et la sécurité. Sans SSH ni CLI traditionnelle, elle est entièrement gérée via une API similaire à celle de Kubernetes, utilisant des certificats pour l'authentification. Le blog détaille le déploiement d'un cluster Kubernetes avec 3 nœuds masters et un nœud worker, en utilisant Talosctl. La documentation officielle est saluée pour sa clarté, et les prérequis infrastructurels sont classiques. Un tutoriel pratique avec commandes et captures d'écran est fourni.
Ce billet de blog présente une configuration impliquant trois outils : StepCA, Caddy et MISP, via le protocole ACME. L'auteur, ayant travaillé sur du CTI (Cyber Threat Intelligence), utilise MISP, une plateforme open source pour partager des informations sur les menaces. Il explique comment il a mis en place une PKI interne avec StepCA pour gérer les certificats TLS, et utilise Caddy comme reverse proxy pour le SSL offloading. Le lab comprend une root CA offline, une sub CA avec serveur ACME privé, un serveur DNS, et une VM avec Docker exécutant Caddy et MISP. L'article détaille également le rôle du CTI et de MISP dans la cybersécurité proactive.
Dokploy est un PaaS open source simplifiant le déploiement moderne sur des serveurs Linux, qu'ils soient on-premise ou dans le cloud. Son installation via un script automatisé est accessible même aux débutants. L'interface intuitive permet de gérer des projets, du monitoring, des tâches planifiées, et offre un accès direct aux configurations de Traefik et Docker Swarm. Dokploy supporte également la gestion de clusters multi-nœuds, des registres Docker personnalisés, des backups vers S3, et des certificats SSL. Un onglet AI est disponible pour générer des Dockerfiles ou configurations. Un tutoriel montre comment déployer un site WordPress en quelques étapes.
Abhinav Sarkar partage son expérience avec Jujutsu (JJ), un nouveau système de contrôle de version qu'il utilise depuis trois mois pour ses projets personnels. Dans ce billet, il détaille les commandes JJ qu'il utilise le plus fréquemment, en assumant que le lecteur connaît déjà Git. Il explique comment démarrer avec JJ, créer et modifier des changements, visualiser les modifications, gérer les branches, et interagir avec Git. Sarkar souligne que JJ utilise Git comme backend, permettant ainsi une utilisation transparente de Git dans les dépôts partagés. Il conclut en mentionnant que l'utilisation de JJ ne nécessite pas de maîtriser toutes ses fonctionnalités avancées pour en tirer profit.
Cet article présente une méthode complète pour migrer un système Linux d’un disque à un autre “à chaud” grâce à LVM (Logical Volume Manager) sans arrêter son système. Pas à pas, l’article explique comment préparer le nouveau disque, étendre le groupe de volumes, déplacer les données avec les outils LVM, puis reconstruire l’amorçage et finaliser le transfert pour que le système continue de fonctionner comme si de rien n’était
Pangolin est une solution open-source pour un accès distant sécurisé, combinant reverse proxy et VPN basé sur WireGuard. Cet article détaille son installation, sa configuration et sa maintenance, incluant la création de ressources publiques et privées, ainsi que la mise à jour. Pangolin permet de sécuriser l'accès à des applications web et des services internes sans exposer l'ensemble du réseau, offrant une alternative maîtrisée aux solutions tierces comme Cloudflare Tunnel.
L'article explique pourquoi choisir Alpine Linux, comment télécharger et configurer l'image spécifique pour Raspberry Pi, et comment préparer le système pour un accès headless via SSH en WiFi. Il aborde également des optimisations techniques comme la gestion de la RAM GPU et la configuration du swap avec zswap.
Ce second article de la série détaille la configuration avancée d’un nœud Proxmox VE sur un serveur dédié Scaleway avec une seule IP publique. L’auteur explique comment exposer plusieurs services (comme Garage S3 et l’interface Proxmox) de manière sécurisée via HTTPS, en utilisant Caddy comme reverse proxy avec gestion automatique des certificats SSL via Let’s Encrypt. Le guide couvre la configuration d’un réseau privé avec NAT, la création de règles de pare-feu Proxmox à trois niveaux (datacenter, nœud, VM/conteneur), et le dépannage des problèmes courants (DNS, ports, certificats, erreurs 502). Une attention particulière est portée sur l’identification des flux réseau internes et l’adaptation des IPSET pour éviter les blocages involontaires. L’objectif est de centraliser et sécuriser l’accès aux services tout en automatisant la gestion des certificats.
L’article détaille l’installation de Proxmox VE sur un serveur dédié Scaleway (modèle Start-2-S-SATA) sous Debian 13 Trixie, motivée par la volonté de remplacer une solution de sauvegarde instable basée sur un VPS Hetzner et un stockage Samba. L’auteur explique chaque étape : choix de Debian 13 pour éviter les versions obsolètes de Proxmox proposées par Scaleway, partitionnement manuel du disque (avec ajustements post-installation pour créer des partitions dédiées à /datastore et /data), configuration réseau en NAT pour permettre à plusieurs VMs/LXC de partager une seule IP publique, et sécurisation du serveur. Le guide inclut aussi la configuration du pare-feu Proxmox, l’activation du routage IPv4, et des astuces pour le dépannage. L’objectif final est de déployer un conteneur LXC avec Garage S3 pour stocker les sauvegardes Proxmox Backup Server de manière fiable et distante. Un tutoriel technique et pratique pour administrer un hyperviseur sur un serveur dédié avec une seule IP publique.
Dans cet article, Rémi Verchère partage son expérience de création et de gestion de plusieurs clusters Kubernetes Talos sur Docker pour une démo ArgoCD multi-clusters. Il détaille les étapes de configuration réseau, la création des clusters avec des CIDR dédiés, et les défis rencontrés pour assurer la communication inter-clusters. Des scripts d'automatisation et des commandes talosctl sont fournis pour faciliter le processus. Un guide pratique pour ceux qui souhaitent expérimenter des architectures multi-clusters en local.
L’article explique comment externaliser le build d’une application Nuxt 4—devenu trop gourmand en ressources—vers GitHub Actions, puis déployer automatiquement sur Coolify. L’auteur, confronté à des serveurs Hetzner (4vCPU/8Go) saturés par les builds Nuxt 4, détaille la méthode : créer une nouvelle app Coolify en choisissant l’option « Docker Image », activer les APIs Coolify pour générer un token de déploiement, configurer les secrets GitHub (webhook et token Coolify), et ajouter un workflow GitHub Actions pour builder l’image Docker et déclencher le déploiement via un webhook. Une étape manuelle de login Docker sur le serveur Coolify est nécessaire pour autoriser l’accès au registry GitHub. Résultat : des builds plus légers, moins coûteux, et un déploiement fluide, le tout sans ajouter de serveur dédié.
Ce billet détaille l’expérience de passage à FrankenPHP en production, comparant l’ancienne stack Nginx/PHP-FPM à une technologie dépassée comme le Minitel. L’auteur explique comment il a déployé FrankenPHP sur un VPS à l’aide d’un Makefile optimisé, en abordant la création d’un Dockerfile de production, l’intégration CI/CD, et une astuce de multiplexing SSH pour éviter les blocages par fail2ban. Une lecture utile pour ceux qui veulent moderniser leur infrastructure PHP avec simplicité et efficacité.
Le billet explique comment FrankenPHP rend obsolètes les configurations traditionnelles utilisant Nginx et PHP-FPM pour les applications PHP. L'auteur partage son retour d'expérience sur le déploiement d'un projet Symfony avec FrankenPHP sur un VPS, mettant en avant sa simplicité et ses performances, même en production. L'article souligne que FrankenPHP offre une alternative moderne, plus légère et efficace, pour les environnements Docker, tout en évitant les problèmes classiques comme les timeouts SSH. Une solution idéale pour ceux qui cherchent à optimiser leur infrastructure PHP.
Ce tutoriel explique comment créer une clé USB bootable pour Linux Mint (ou toute autre distribution) en utilisant Ventoy, un outil pratique qui permet de démarrer depuis plusieurs fichiers ISO sur une seule clé. La procédure est simple : téléchargez Ventoy, installez-le sur la clé USB (attention, cela efface toutes les données), puis copiez-y le fichier ISO de Linux Mint (version Cinnamon recommandée). Ventoy rend la clé multiboot, idéale pour tester ou installer différents systèmes. Prochaine étape : l’installation de Linux Mint depuis cette clé ! #LinuxMint #Ventoy #USB
L'auteur explique la procédure de désactivation complète des fonctions IA dans Firefox. Il explique aussi pourquoi il l'a fait : pour une expérience plus légère et conforme à l'esprit original de Firefox...
Cet article explique comment construire un serveur Model Context Protocol (MCP) pour une application Symfony, permettant à des assistants IA comme Claude d’interagir directement avec vos données et fonctionnalités via des requêtes en langage naturel.
Le tutoriel propose un exemple concret : une application de gestion de clients avec Symfony, où l’on ajoute un serveur MCP pour permettre à l’IA de rechercher des clients, consulter leurs commandes, analyser des statistiques, etc. Il détaille les étapes clés : installation du SDK MCP, création de "tools" (outils) en PHP avec des attributs, configuration d’un serveur MCP, et intégration avec Claude Desktop. Le projet utilise une base SQLite avec des entités Customer, Order, OrderItem et Product, et fournit des exemples de requêtes possibles (recherche par nom, ville, top dépensiers, etc.).
Le code source est disponible sur GitHub, et le tutoriel inclut des captures d’écran de l’interface. Une bonne ressource pour les développeurs PHP/Symfony souhaitant connecter leurs applications à des assistants IA via MCP.
Eric Meyer propose une méthode pour transformer des notes parenthétiques en "asidenotes" (notes latérales) en utilisant une combinaison de JavaScript et de CSS moderne. Il introduit un custom element <aside-note> qui encapsule le texte de la note, puis utilise JavaScript pour supprimer les parenthèses et ajouter un marqueur en exposant. Le positionnement des notes est géré via CSS et la propriété anchor-name, permettant d'afficher les notes en marge du texte principal. La solution est conçue pour être robuste : elle ne s'applique que si le navigateur supporte le positionnement par ancrage et si la largeur de l'écran est suffisante, évitant ainsi les problèmes d'affichage sur mobile. Meyer envisage d'adopter cette technique pour son blog, car elle offre une meilleure expérience utilisateur et un code plus propre que sa précédente approche.
Ce billet détaille la migration d’une instance GitLab vers un nouveau serveur, motivée par la fin de vie de CentOS. L’auteur a opté pour AlmaLinux 9, compatible avec les paquets RedHat. La procédure repose sur la documentation officielle de GitLab et s’applique à toute distribution supportée.
Étapes clés :
- Installation : Installer GitLab sur le nouveau serveur en utilisant la même version que l’ancien, après avoir mis à jour le système et ajouté les dépôts GitLab.
- Sauvegarde et transfert : Créer une sauvegarde complète de l’instance existante, transférer les fichiers de configuration (
gitlab.rb,gitlab-secrets.json) et les backups vers le nouveau serveur viarsync. - Restauration : Arrêter les services, restaurer la sauvegarde, puis relancer et vérifier l’intégrité des données avec des commandes comme
gitlab-rake gitlab:checketgitlab:doctor:secrets. - Finalisation : Mettre à jour les enregistrements DNS ou l’IP, puis effectuer les mises à jour progressives de GitLab pour éviter les ruptures. L’auteur recommande aussi de réinstaller GitLab Runner si nécessaire et de configurer des sauvegardes automatiques régulières.
L’article souligne l’importance de suivre les versions intermédiaires lors des mises à jour pour garantir la stabilité.
L’article explique comment déployer des applications PHP sans interruption de service en utilisant la méthode blue-green : deux environnements identiques (blue et green) sont maintenus, l’un actif, l’autre en standby. Le déploiement consiste à installer la nouvelle version sur l’environnement inactif, à vérifier son bon fonctionnement, puis à basculer le trafic de manière instantanée et réversible (via un lien symbolique, un load balancer ou Kubernetes). Les avantages incluent un temps d’arrêt quasi nul et un retour arrière rapide en cas de problème. Pour PHP, il est crucial de centraliser les sessions (Redis/Memcached), les uploads (dossier partagé ou S3), et de gérer l’Opcache et les migrations de base de données avec la méthode "expand/contract" pour éviter les ruptures. L’article propose des scripts prêts à l’emploi pour un serveur unique avec Nginx/PHP-FPM, un load balancer ou des conteneurs, ainsi qu’une checklist pour un déploiement sécurisé, incluant des vérifications de santé et la gestion des caches. Les pièges courants (sessions perdues, caches obsolètes, migrations bloquantes) et des outils comme Deployer ou GitHub Actions sont aussi abordés, soulignant que cette approche transforme les déploiements en opérations sans stress.
Cet article explique comment exporter les métriques de MariaDB vers Alloy pour une visualisation dans Grafana. L’article détaille d’abord la création d’un utilisateur SQL dédié dans MariaDB, avec les droits nécessaires (PROCESS, REPLICATION CLIENT, SELECT). Ensuite, il présente la configuration à ajouter dans le fichier /etc/alloy/config.alloy pour activer l’export des métriques via Prometheus, en utilisant un relabeling pour afficher le hostname plutôt que l’adresse locale. Après rechargement d’Alloy, les données sont visibles dans l’interface d’Alloy et peuvent être affichées dans Grafana via un dashboard dédié comme celui-ci. L’article est illustré par des captures d’écran de l’interface Alloy et du dashboard Grafana final.