68 points par GN⁺ 2025-04-03 | 4 commentaires | Partager sur WhatsApp
  • 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
  • Awesome-Selfhosted

    • 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é
  • Selfh.st

    • 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
  • awesome-docker-compose

    • 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

 
ifmkl 2025-04-04

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.

 
bus710 2025-04-04

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.

 
wedding 2025-04-04

Docker + Portainer + Cloudflare + Uptime Kuma
C’est comme ça que je l’utilise.

 
GN⁺ 2025-04-03
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

    • La sécurité est le problème. Je ne sais pas bien comment exploiter en toute sécurité un site auto-hébergé depuis chez moi
    • Je continue d’apprendre, mais plus j’apprends, plus j’ai de questions. J’ai peur que si je dis une bêtise, quelqu’un s’introduise dans mon réseau
    • À cause de cette anxiété, j’utilise des services comme Akamai, Linode et DO
    • Je cherche des ressources sur la sécurité en auto-hébergement
  • Je suis en train de configurer un nouveau VPS

    • J’utilise un abonnement développeur RHEL 9. J’ai installé dnf-automatic et automatisé les mises à jour avec reboot = when-changed
    • Pour les services, j’utilise podman et des quadlets
    • Je prévois d’exploiter nginx, vaultwarden, postfix, un webmail, etc.
    • Le gaspillage d’espace disque est important à cause des données d’images
  • L’augmentation de l’auto-hébergement m’inquiète

    • Les utilisateurs d’auto-hébergement vont attirer de plus en plus l’attention
    • Un article sur la manière de louer un VPS en Chine serait intéressant
  • Je compte continuer à utiliser dokku pour l’hébergement d’applications web

  • Je gère Hashicorp Nomad, Consul et Traefik avec OpenTofu

    • Docker autonome ne fonctionne pas très bien. Il faut recréer les conteneurs pour modifier leurs propriétés
    • Quadlet rend difficile la gestion d’un cluster de services. Les subtiles différences de Podman causent des problèmes
    • Kubernetes est trop lourd. Même les distributions légères restent lourdes
    • Avec la configuration actuelle, je peux facilement fournir des services en HTTPS
  • J’ai essayé Portainer, mais docker compose était plus simple

    • Pour passer en mode rootless, Podman est un bon choix. Docker peut aussi fonctionner en rootless
    • Docker rootless est stable sur Debian et Ubuntu
    • Pas besoin de Watchtower. On peut configurer un docker compose pull automatique avec crontab
  • En auto-hébergement, je recommande de ne pas utiliser de conteneurs et de choisir plutôt un générateur de site statique

    • Si des fonctionnalités dynamiques sont nécessaires, on peut utiliser PHP. La sécurité peut être renforcée avec la configuration nginx
    • Pour les données importantes, je recommande d’utiliser des jeux de données zfs pour les sauvegardes
  • Je fais de l’auto-hébergement avec les jails FreeBSD et des scripts shell

    • J’ai renoncé au confort, mais j’ai conservé une interface stable
  • Cet article me motive à faire évoluer ma façon d’héberger

    • J’exploitais des projets personnels sur un VPS DigitalOcean
    • Je suis passé à Portainer + Caddy pour mettre en place la gestion des conteneurs et l’automatisation des certificats SSL
    • Merci de m’avoir propulsé en 2025