- En alternative aux services centralisés centrés sur la collecte de données, le self-hosting gagne récemment en popularité
- Après avoir testé divers outils et applications, voici une sélection de ceux qui se sont révélés utiles après plus d’un an d’exploitation stable
- Sélection d’articles recommandant des runtimes de conteneurs, des outils d’administration web, des reverse proxies, des VPN et d’autres outils de self-hosting
- Cet article ne cherche pas à établir une hiérarchie entre des solutions précises, mais insiste sur le fait qu’à des problèmes différents correspondent des solutions différentes
Runtime de conteneurs
- Aujourd’hui, les conteneurs sont devenus la base de l’hébergement, et les approches traditionnelles se font de plus en plus rares
- C’est une évolution très positive pour les utilisateurs de home server (homelabbers) : les conteneurs simplifient le déploiement logiciel et offrent de meilleures performances que les machines virtuelles
- La plupart utilisent Docker, mais cet article présente divers runtimes alternatifs adaptés à un usage domestique
-
Docker
- Le runtime de conteneurs historique et le plus largement utilisé
- Grâce à une documentation abondante et à une communauté active, même sans grande familiarité avec l’IT, on peut copier un
docker-compose.yml depuis GitHub et le lancer
- En revanche, les réglages liés à la sécurité doivent être étudiés séparément
-
Podman
- Un runtime de conteneurs nouvelle génération remarqué pour son architecture rootless et sa compatibilité avec la CLI Docker
- Comme il fonctionne sans daemon, il convient bien à ceux qui accordent de l’importance à la sécurité ou veulent se former à ces technologies
- La plupart des commandes Docker peuvent être réutilisées telles quelles, et la présence d’un alias compatible avec la commande
docker facilite la transition
- L’accès n’est pas immédiat au départ, mais la documentation et la communauté progressent, ce qui le rend de plus en plus abordable
- En plus, Podman Quadlets permet une gestion déclarative des conteneurs basée sur systemd, en remplacement de docker compose
-
Kubernetes
- Pour les utilisateurs de home server curieux et expérimentateurs, c’est un outil avancé qui donne envie de se lancer un défi
- En tant qu’outil d’orchestration capable de gérer élégamment un grand nombre d’instances, il offre une expérience d’administration de niveau entreprise
- Mais comme ses fonctionnalités sont très nombreuses et sa complexité élevée, il est excessif pour la plupart des utilisateurs
- Dans un environnement domestique, son intérêt principal est l’apprentissage, davantage que l’usage concret
Outils web de gestion des conteneurs
- Certains préfèrent conserver et gérer leurs fichiers compose sur un disque local, mais cela implique la contrainte de se connecter en SSH au serveur à chaque fois pour consulter les logs
- À la place, l’usage d’outils web de gestion des conteneurs permet de travailler beaucoup plus confortablement
-
Portainer
- L’outil de gestion par interface web le plus stable, compatible avec Docker, Kubernetes et Podman
- Largement utilisé du home server jusqu’aux environnements d’entreprise, il est aussi très utile pour apprendre via une pratique réelle
- Il existe en version open source Community Edition et en version Enterprise avec des fonctionnalités supplémentaires (3 licences sont fournies gratuitement)
- Son interface intuitive et ses nombreuses fonctionnalités en font un excellent choix pour administrer des conteneurs
-
Dockge
- Un nouvel outil web de gestion de Docker Compose créé par le développeur d’Uptime Kuma
- Il n’est pas encore aussi mature que Portainer, mais son interface très simple et intuitive constitue son principal atout
- Le développeur répond rapidement aux issues GitHub, et des mises à jour régulières sont publiées
- Convient bien aux utilisateurs qui préfèrent des outils légers et minimalistes
Reverse proxy et VPN
- Pour accéder à des applications auto-hébergées depuis l’extérieur, il existe deux approches principales :
- Exposer directement le service sur Internet
- Accéder au réseau interne via un VPN
- Le VPN est plus sûr du point de vue de la sécurité, mais une exposition à Internet peut aussi être tout à fait utile si elle est bien configurée
-
Pangolin
- Une solution innovante qui combine VPN et reverse proxy en un seul outil
- Elle joue un rôle proche d’un Cloudflare pour le self-hosting
- Il suffit d’installer le serveur d’ingress sur un VPS, par exemple, puis de se connecter facilement comme client VPN depuis divers environnements
- Elle intègre aussi l’interfaçage avec CrowdSec et des fonctions SSO de base
- C’est un outil suffisamment marquant pour avoir motivé la rédaction de cet article, et avec le temps il pourrait devenir une alternative de référence aux solutions existantes
-
Nginx Proxy Manager (NPM)
- Un frontend Nginx permettant de configurer facilement des proxys TCP/UDP/HTTP(S) via une interface web
- Beaucoup d’utilisateurs s’en servent, mais l’auteur juge certaines fonctions (par exemple la protection par mot de passe) instables
- Ce n’était pas une très bonne première impression, mais lorsqu’il fonctionne, il remplit correctement son rôle
-
Caddy
- Avec un simple fichier de configuration (Caddyfile), il automatise aussi bien la configuration du proxy que l’émission des certificats HTTPS
- En l’absence d’interface web, il n’est pas recommandé aux débutants, mais pour les utilisateurs attachés à la philosophie UNIX, c’est un excellent choix
- Let’s Encrypt est pris en charge nativement, et l’absence de configuration complexe est un avantage
-
NetBird
- Une solution VPN à laquelle on s’adapte immédiatement si l’on connaît déjà Tailscale
- Elle configure automatiquement un réseau basé sur WireGuard, ce qui réduit la complexité du paramétrage
- Elle peut être utilisée aussi bien via le free tier cloud qu’en auto-hébergement, ce qui lui donne une bonne flexibilité
Outils de supervision d’état et d’alerte
-
Uptime Kuma
- Permet de surveiller facilement l’état des services sans recourir à une stack lourde comme Zabbix ou Grafana
- Un seul déploiement suffit pour configurer des alertes via divers canaux
- Excellent pour vérifier la disponibilité d’un système auto-hébergé
-
Gotify
- Un serveur de notifications capable d’envoyer des push via de simples requêtes HTTP
- Après installation de l’application mobile, on peut recevoir les notifications, avec en plus une intégration possible avec Uptime Kuma et d’autres outils
- Pratique, car il peut être utilisé avec divers outils de self-hosting
Ressources complémentaires pour trouver des applications de self-hosting
- Une sélection de ressources utiles pour découvrir différentes applications auto-hébergées
-
- Une vaste liste de logiciels proposée sur GitHub
- Elle est parfois un peu désordonnée, et comprend aussi certains projets dont le développement est arrêté
-
- La source de référence préférée de l’auteur
- Propose une newsletter recommandant des applications de niche, ainsi qu’un grand répertoire d’applications avec fonctions de tri
- Un site très utile
-
- Une collection de fichiers Docker Compose prêts à l’emploi
- Certaines applications peuvent rencontrer des problèmes de compatibilité liés aux mises à jour, mais l’ensemble reste une bonne ressource de référence
4 commentaires
J’ai acheté un n100 lors de la dernière promo Ali, j’y ai installé Proxmox et, dans un premier temps, j’ai sauvegardé toutes les données de mon serveur Oracle ARM que j’utilisais jusque-là. En plus, j’y ai installé Xpenology et pfSense ; je ne les fais pas encore vraiment tourner à fond, mais je prévois de passer bientôt dessus en principal.
J’ai profité d’une promotion en fin d’année dernière pour m’abonner à un service VPN. Je me suis dit qu’avec les changements qui semblent se profiler du côté des grands services, j’allais progressivement passer à l’auto-hébergement. Pour l’instant, je vais tester petit à petit en migrant les mots de passe et les favoris du navigateur.
Docker + Portainer + Cloudflare + Uptime Kuma
C’est comme ça que je l’utilise.
Commentaires sur Hacker News
J’aime l’idée de l’auto-hébergement. J’exploite plusieurs petits sites web et projets, donc les ressources ne sont pas un gros problème
Je suis en train de configurer un nouveau VPS
reboot = when-changedL’augmentation de l’auto-hébergement m’inquiète
Je compte continuer à utiliser dokku pour l’hébergement d’applications web
Je gère Hashicorp Nomad, Consul et Traefik avec OpenTofu
J’ai essayé Portainer, mais
docker composeétait plus simpledocker compose pullautomatique avec crontabEn auto-hébergement, je recommande de ne pas utiliser de conteneurs et de choisir plutôt un générateur de site statique
Je fais de l’auto-hébergement avec les jails FreeBSD et des scripts shell
Cet article me motive à faire évoluer ma façon d’héberger