- En 2024, alors que le cloud et les services par abonnement sont devenus la norme, cela vaut la peine de redonner sa chance au self-hosting centré sur le logiciel comme hobby, en apprenant au passage à configurer soi-même ses systèmes
- Le self-hosting peut être une forme de résistance face aux services propriétaires, mais comme le coût en temps et en charge mentale est élevé, les motivations les plus importantes restent le plaisir et l’exploration
- Les débutants peuvent se lancer même sans serveur physique, en utilisant un hébergement mutualisé comme Uberspace, accessible en SSH avec un environnement de 10 Go de stockage et 1,5 Go de RAM
- Sur Uberspace, il n’est pas possible d’utiliser Docker, mais en s’appuyant sur Uberspace Labs et Awesome-Selfhosted, on peut faire tourner des services comme Actual Budget et Miniflux
- En reliant un domaine personnel, on peut configurer des sous-domaines par service, des adresses e-mail personnalisées et un hébergement de fichiers publics pour montrer plus facilement le résultat de son self-hosting et le maintenir dans le temps
Le ressenti de l’informatique personnelle avant le cloud
- Dans les années 2000, les logiciels et les jeux étaient distribués sur DVD, et l’ordinateur personnel gardait fortement son caractère de machine de calcul que l’utilisateur manipulait directement
- Dans les années 2010, avec l’essor des Chromebook et des services cloud, une grande partie des logiciels a basculé vers un mode d’exécution sur l’ordinateur de quelqu’un d’autre
- Après la publicité, l’abonnement est devenu l’un des principaux modèles de monétisation en ligne, renforçant une tendance où l’utilisateur cède du contrôle en échange de la commodité
- En conséquence, une partie des générations qui apprennent l’informatique a moins d’occasions de commencer comme passionnés d’ordinateurs, et l’attitude hacker des débuts s’est aussi affaiblie
Aborder le self-hosting comme un hobby
- Le self-hosting peut être une manière de reprendre le contrôle sur son moi numérique dans un environnement dominé par les monopoles
- Si l’on ne regarde que l’aspect purement pratique, il peut être préférable de confier l’hébergement à d’autres
- La stabilité, la montée en charge, la redondance et la disponibilité peuvent être laissées au fournisseur de services
- On peut économiser de l’argent, mais au prix d’un investissement plus lourd en temps et en charge mentale
- Sur le plan intellectuel, cela ressemble davantage à un garage numérique que l’on ajuste en permanence
- Après une journée de travail, cela peut devenir un hobby consistant à bricoler des systèmes que l’on aime, comme des jouets
- Plutôt que de débattre strictement des critères du « vrai self-hosting », l’important est surtout de commencer avec plaisir, ne serait-ce qu’au niveau logiciel
Créer son premier environnement avec de l’hébergement mutualisé
- Pour commencer le self-hosting, il faut d’abord un endroit où héberger quelque chose
- Uberspace est proposé comme hébergement recommandé
- C’est un type d’hébergement qui ressemble à : « on vous donne les clés, ne mettez pas le bâtiment en feu, et amusez-vous bien »
- Le paiement se fait à la fin du mois, ce qui rend le premier mois pratiquement comparable à un essai gratuit
- Une fois le compte créé, on peut se connecter en SSH à un ordinateur relié à Internet
- L’environnement fourni comprend 10 Go de stockage et 1,5 Go de RAM
- En exécutant
ls, on peut voir un nouveau répertoire utilisateur vide
Comment choisir les logiciels à installer
- Pour trouver quels logiciels utiliser sur Uberspace, deux ressources sont particulièrement utiles
- Uberspace Labs : un guide dédié qui explique comment installer divers logiciels sur Uberspace
- Awesome-Selfhosted : une large liste de logiciels auto-hébergeables, utile pour repérer des projets disposant d’une certaine communauté
- Sur Uberspace, Docker ne peut pas être utilisé
- Les contraintes mémoire rendent difficile l’exécution d’une suite de virtualisation complète
- C’est peu pratique pour les gros logiciels ou les installations pensées uniquement pour Docker, mais il existe des contournements, comme l’installation depuis les sources ou la récupération du runtime final issu du processus de conteneurisation comme s’il s’agissait d’une image de build
Exemple 1 : gérer soi-même ses données financières avec Actual Budget
- Actual Budget est une application de gestion financière rapide et centrée sur la confidentialité
- Elle convient aux utilisateurs qui veulent suivre leurs dépenses, leur patrimoine net ou leurs habitudes de consommation
- Elle permet d’exploiter des informations financières sensibles sans les confier à un autre service, tout en restant accessible de partout via le navigateur
- Au cœur de son approche budgétaire se trouve la méthodologie Envelope Budgeting
- Le guide d’installation sur Uberspace est disponible sur guide_actual
- La section des rapports permet de découper et d’analyser ses données financières
- Même les petites dépenses peuvent finir par peser lourd une fois additionnées sur un mois
- Cela permet d’obtenir des insights, par exemple en découvrant que les frais de trajet sont plus élevés que prévu
Exemple 2 : reprendre la main sur ses flux avec Miniflux et RSS
- Miniflux est un lecteur de flux minimaliste et très assumé dans ses choix
- Grâce au RSS, on peut suivre au même endroit les mises à jour de ses médias, magazines et blogs préférés
- Il est aussi possible de transformer ses abonnements YouTube en une timeline de flux dédiée, sans publicité
- YouTube fournit des flux RSS
- Le lecteur YouTube intégré ne contient pas de publicité
- Après avoir installé Miniflux sur Uberspace, on peut y ajouter les flux de ses chaînes YouTube préférées
- En activant la Fever API dans les réglages, un client RSS capable de lire la Fever API peut accéder à l’agrégateur RSS dans le cloud
- Dans l’écosystème Apple, Unread de Golden Hill Software est recommandé
- On peut aussi séparer les catégories de flux entre actualités et webcomics
Créer un espace à montrer avec un domaine personnel
- L’un des plaisirs du self-hosting consiste à montrer ce que l’on a construit
- Un domaine personnel sert d’espace en ligne à soi
- Porkbun est recommandé comme service d’enregistrement de domaine
- Avec un domaine comme
awesauce.com, plusieurs configurations sont possibles- On peut relier les services hébergés sur Uberspace à des sous-domaines comme
actual.awesauce.comouminiflux.awesauce.com - Si son fournisseur de messagerie prend en charge les domaines personnalisés, on peut créer une adresse comme
contact@awesauce.com- On peut changer de fournisseur de messagerie plus tard tout en conservant l’adresse
- La messagerie sur domaine personnalisé peut être payante
- On peut relier un sous-domaine ou un chemin d’URL à un dépôt GitHub pour proposer des fichiers publics, comme un CV accessible à l’adresse
awesauce.com/files/resume.pdf
- On peut relier les services hébergés sur Uberspace à des sous-domaines comme
Une suite volontairement laissée à explorer
- Le but de cet article n’est pas de fournir un tutoriel détaillé étape par étape, mais d’éveiller l’envie de manipuler soi-même ce genre d’outils
- Parmi les pistes laissées au lecteur figure la manière d’envoyer des notifications mobiles lorsqu’un produit précis est réapprovisionné ou lorsqu’un site web change
- La discussion associée sur Hacker News se poursuit dans ce fil
1 commentaires
Avis sur Hacker News
Vu avec une perspective un peu ancienne, il est surprenant que payer pour un hébergement mutualisé soit désormais appelé « self-hosting ». Ce n’est pas mauvais en soi, mais il y a 10 ans, je ne pense pas qu’on aurait jamais appelé ça du self-hosting.
C’est un peu comme l’évolution du sens de « cuisiner à partir de zéro ». Un livre de cuisine du XIXe siècle aurait pu indiquer « 1 cochon » dans les ingrédients et demander de l’abattre, alors qu’aujourd’hui, on achète évidemment un morceau de porc dans une barquette en polystyrène.
Mais il existe aussi un grand marché de personnes qui pourraient profiter des avantages du self-hosting sans avoir besoin d’en comprendre tous les détails. Par exemple, utiliser un service managé avec son propre domaine permet de bénéficier en grande partie d’avantages comme la propriété des données, les logiciels open source et la concurrence entre fournisseurs. Il semble donc qu’il faille un terme plus large, et ces derniers temps j’utilise l’expression hébergement indé.
L’exception généralement admise concerne la protection réseau. Comme on préfère éviter d’exposer son adresse IP domestique à l’extérieur quand c’est possible, beaucoup de gens utilisent Tailscale, Cloudflare Tunnel ou un VPS comme proxy.
Et si ça ne suffit pas, j’ai aussi dans mon congélateur du porc provenant d’un cochon que j’ai élevé et préparé moi-même, ainsi que du bacon salé à la maison. L’expression « une vieille âme vivant dans un monde nouveau » me correspond assez bien.
Que le matériel ait été loué, que j’aie assemblé moi-même le serveur ou que j’utilise une machine virtuelle fournie par le prestataire, la charge de maintenance est comparable. Mais cela reste différent de l’utilisation de Wix/Squarespace, Geocities ou de plateformes de réseaux sociaux.
Il a écrit : « Donc voici une introduction en douceur au self-hosting, même si ce n’est pas du “vrai self-hosting”. Poursuivez-moi si vous voulez. » :)
J’adore vraiment le self-hosting, et je m’y suis plongé assez profondément ces derniers mois. Je gère maintenant plusieurs services pour mon entreprise ainsi qu’un homelab, déployés sur un VPS Hetzner avec Ansible + des fichiers Docker Compose, ou avec https://github.com/coollabsio/coolify/
Le dépôt awesome-selfhosted est également pratique pour trouver des projets à auto-héberger, mais comme il manque de fonctionnalités de confort, j’ai créé un annuaire avec quelques améliorations d’expérience utilisateur sur https://selfhostedworld.com. Il propose la recherche, des filtres par nombre d’étoiles/popularité/date et un mode sombre.
Je me demande si, avec les outils modernes et les machines virtuelles, c’est relativement sûr, ou s’il faut au contraire rester vigilant en permanence, par exemple en vérifiant les mises à jour logicielles chaque semaine. J’ai envie de monter un serveur depuis longtemps, et maintenant que j’ai un ordinateur portable en rab, je pense au moins faire tourner un NAS.
https://ptah.sh
Côté authentification, j’ai aussi préparé une comparaison de serveurs OIDC : https://github.com/lastlogin-net/obligator#comparison-is-the...
On dit que « ce qu’on économise en argent, on le perd en temps et en santé mentale, donc en pratique c’est idiot » ; dans la communauté du self-hosting, Kubernetes est souvent vu d’un mauvais œil. Mais comme le self-hosting dans son ensemble a déjà un peu ce côté-là, autant aller jusqu’au bout
J’ai installé NixOS sur trois Dell R720XD et je les fais tourner en multi-master k3s. Pour le stockage, j’utilise rook/ceph, avec une douzaine de disques durs de tailles variées. Mon tour de fête préféré consiste à retirer n’importe quel disque du cluster pendant un streaming vidéo, et ça ne bronche pas. Je le remets, tout revient comme si de rien n’était, et il me reste encore beaucoup d’espace ; je cherche donc toujours des choses utiles à héberger
Personnellement, même avec une petite configuration de quatre desktops, j’utilise Docker Swarm. Avec le matériel que tu as, ta facture d’électricité pourrait facilement atteindre 200 dollars par mois. Docker Swarm est ancien et peu populaire, mais il n’est qu’un tout petit peu plus complexe que Docker pur, et il fait tout ce qu’il faut pour le déploiement et l’orchestration multi-nœuds
De cette façon, on bénéficie des avantages de la configuration NixOS, tout en pouvant exécuter n’importe quelle application qui n’existe pas forcément dans nixpkgs. Pour le stockage, j’utilise ZFS dans Proxmox, l’hyperviseur, et je l’expose localement via NFS
[1] https://github.com/aksiksi/compose2nix
L’article original met bien le doigt sur ce point : « Nous sommes en 2024, il est temps de redécouvrir le plaisir fondamental de configurer nous-mêmes nos systèmes. »
Le self-hosting est vraiment amusant. Parce qu’il mêle apprentissage, défi et utilité pratique. +1 pour Actual Budget et Changedetection.io. Mais -1 pour l’absence de traitement du threat modeling et de la sécurité. L’auteur de l’article original utilise HTTPS, mais laisse son site ouvert sur l’Internet public. Quand on débute, il faut héberger uniquement sur le LAN ou verrouiller très fortement. Cela dit, avec de l’hébergement mutualisé, ça peut être compliqué sans restriction par IP ou tunneling, et je ne sais pas si uberspace propose ce genre de choses. Pour ceux qui ont dépassé les premières étapes, je recommande quelque chose comme Docker afin de faire tourner davantage d’apps côte à côte. Les dépendances empaquetées, c’est le top. Petite promo pour mon livre, qui couvre aussi l’approche Docker : https://selfhostbook.com
Je suis d’accord avec les autres anciens
Si ce n’est pas ton propre matériel qui tourne dans un espace que tu possèdes ou que tu loues, ce n’est pas du self-hosting. Aujourd’hui, j’utilise une petite machine Micro-ITX, mais avant j’avais aussi une vraie baie serveur avec un serveur 6U, un UPS et de l’équipement réseau. C’était avant le mariage
J’adore le self-hosting. J’ai beaucoup appris en bricolant de petits projets perso
Pour ceux que ma config intéresse : j’ai acheté d’occasion sur eBay un Dell R630 pas cher. SSD 1 To en RAID 1, 32 Go de RAM, 32 cœurs, et je m’amuse à faire tourner de petites applis perso avec Docker, virsh et minikube. J’ai appris les trois. J’ai une connexion fibre 1 Gbps, et une tâche cron vérifie toutes les minutes si l’IP a changé, puis modifie l’enregistrement DNS A via l’API Linode
1,5 Go de RAM et 10 Go de disque ? Le VPS cloud de base chez Hetzner propose 4 Go de RAM et 40 Go de disque pour 4,51 €
Pour le compute, ils disent : « Les 3 000 premières heures OCPU et 18 000 heures Go sont gratuites chaque mois pour permettre la création d’instances Ampere A1 Compute dans chaque tenancy. Cette utilisation du niveau gratuit est partagée entre les instances bare metal, les machines virtuelles et les instances conteneur. » Pour le stockage bloc, c’est du genre : « Le quota du niveau gratuit du service Block Volume est de 200 Go au total pour toute la tenancy. S’il y a plusieurs estimations dans la même tenancy, seuls 200 Go au total s’appliquent. » Autrement dit, on a gratuitement 4 cœurs ARM + 24 Go de RAM + 200 Go d’espace
Spoiler : cet article ne parle pas de self-hosting, mais d’hébergement mutualisé
Mais si quelqu’un te murmure K8S à l’oreille…
Une fois ce guide terminé, ça vaut aussi le coup d’aller voir /r/homelab et /r/homedatacenter ;)