Après 3 mois chez NeoServ je peux établir un bilan : le rapport qualité de service/prix est imbattable pour un serveur hébergé dans le datacenter de Roubaix d'un certain gros hébergeur français et je vais continuer avec eux. Par contre la configuration minimale de mon VPS a touché ses limites avec mon déploiement habituel de containers Docker et a très vite mangé les 2 Go de RAM et les 512 Mo de swap. Étant exclu de gonfler les ressources, je suis donc revenu à un déploiement bare-metal sur la Debian 11. Je redoutais un peu la transition avec ma mécanique bien rodée sur Compose où je ne m'occupais plus de rien : certificats auto-renouvelés, montées de version aussi simple que la mise à jour de l'image d'un container... Cela encourage clairement la paresse.
Et finalement ça s'est très bien passé et beaucoup plus vite que je n'aurais pensé parce qu'au fil des années j'ai rationalisé ma stack technique, par goût du KISS et par affection pour certains outils qui sont mes briques de base pour construire des solutions légères : le Markdown, la base SQLite, la génération statique de site, NginX, le shell script.
L'agrégateur de flux RSS Selfoss, la sauvegarde d'articles Wallabag, le gestionnaire de sources Gitea proposent une installation légère avec SQLite. Cela signifie aucune base à administrer et des sauvegardes faciles. Gitea est un exécutable Golang enfantin à installer, les autres utilisent PHP. On configure la stack PHP une seule fois et cela fonctionne pour tous. De fait, Python rentre assez mal dans ce cadre de simplicité avec ses environnements virtuels pour fixer une version d'interpréteur et ses dépendances à installer. Je me suis donc intéressé à PyInstaller et j'ai produit des exécutable pour Stacosys et pour mon Makesite. L'intérêt est de générer des exécutables avec du linkage dynamique pour qu'ils soient légers. Cela impose d'avoir un OS proche de la cible pour les créer avec les bonnes librairies liées, une contrainte qui se résout facilement par un build sur une machine virtuelle en Debian 11.
Après désinstallation de Docker et réinstallation en mode classique, j'obtiens à service équivalent 350 Mo de RAM consommés contre 2,5 Go. Je savais que la conteneurisation se payait mais en RAM je ne pensais pas un facteur 8. Après, l'hébergement Web est un cas défavorable avec un reverse-proxy par container. On dit que la vie est une boucle... ce retour à de l'hébergement classique est pour moi une bouffée d'air frais pour les neurones. Et comme je me retrouve avec de la ressource disponible, je me suis lancé à remettre en ligne une galerie des photos familiales, précisément le point qui m'avait fait basculer sur kDrive par manque de place sur l'ancien VPS pour finalement lâcher l'affaire de vouloir héberger une galerie, le stockage faisant exploser le prix du VPS.
En repensant le problème différemment et avec l'expérience de la génération statique d'images optimisées vers mon téléphone j'ai réédité le processus avec des réglages moins agressifs pour une consultation de bonne qualité sur écran ou tablette : j'ai remplacé thumbsup par Sigal et je produis une galerie Web statique de 7 Go à partir des 84 Go de photos.
C'est du tout bon !