Cela fait maintenant un bon moment que je possède un NAS, et je n’avais encore jamais pris le temps de décrire réellement ma stack ni les applications que j’y héberge. Cet article est donc l’occasion de corriger cela.
Références et inspiration
S’il ne fallait citer qu’une seule référence incontournable dans le monde du self-hosted, ce serait selfh.st. Ce site fait à la fois office d’annuaire d’applications auto-hébergées, de catalogue d’outils compagnons, et propose également une newsletter hebdomadaire très utile pour rester à jour sur l’actualité du domaine.
Hébergement et socle technique
La première brique de ma stack concerne évidemment l’hébergement. Comme je l’ai déjà évoqué ailleurs, j’utilise OpenMediaVault. C’est une solution GNU/Linux open source, puissante et éprouvée, que j’utilise depuis plus de dix ans.
Pour la partie conteneurisation, je n’ai pas basculé vers la stack Docker officiellement officieuse d’OMV (plugin Docker Compose). Je continue d’utiliser une stack Portainer indépendante d’OMV. Cela me simplifie les mises à jour et m’offre plus de souplesse. Bref, tant que cela fonctionne bien, je reste dessus.
Côté reverse proxy, j’ai choisi Traefik. Il est simple à mettre en œuvre et permet une configuration quasi intégralement pilotée via des labels dans les fichiers docker-compose, ce qui est très pratique.
Pour l’authentification, je privilégie clairement OpenID Connect. J’ai donc mis en place une stack Authelia couplée à LLDAP, une solution LDAP légère, simple et efficace.
Enfin, comme portail d’entrée, j’utilise Homepage, que je trouve à la fois sobre, lisible et efficace.

Organisation du portail
Sur Homepage, j’ai structuré l’accès en trois onglets :
- un onglet regroupant toutes mes applications,
- un onglet dédié à l’administration du serveur,
- un dernier onglet pour les services accessibles uniquement depuis mon réseau local ou via VPN.
Médias
Pour la partie multimédia, après avoir longtemps utilisé Kodi, je suis passé il y a quelque temps à Jellyfin (voir un article précédent).
Les demandes de contenus sont gérées via Jellyseerr (bientôt renommé Seer suite à la fusion avec Overseerr), et les statistiques via Jellystat.
Cloud personnel et productivité
J’utilise Nextcloud, que je considère comme un pilier central de ma stack. Vous remarquerez que je n’ai pas d’application dédiée pour la gestion des photos ou des mots de passe : j’ai fait le choix de m’appuyer directement sur Nextcloud, avec les plugins Memories et Passwords. L’idée est simple : tout ce qui peut être correctement porté par Nextcloud y est centralisé.
Pour les flux RSS (oui, je continue d’utiliser les RSS), j’ai opté pour Miniflux, simple, rapide et efficace.
Pour la gestion des eBooks, j’aurais aimé utiliser Booklore, mais l’absence de support PostgreSQL m’a fait renoncer. Je reste donc sur Komga, qui me donne entière satisfaction.
Pour la veille (nouvelles versions applicatives, évolutions de prix, etc.), j’utilise ChangeDetection. Le suivi de mes abonnements et rappels de paiement est assuré par Wallos.
J’ai longtemps utilisé Wallabag (bien avant l’arrêt de Pocket), mais le projet vieillissant et l’absence de support OIDC m’ont poussé à migrer récemment vers Karakeep, qui propose en plus des fonctionnalités d’auto-tagging basées sur l’IA. À noter que bien que je synchronise mes marque-pages avec le plugin Bookmarks de Nextcloud, je les envoie également dans Karakeep pour la recherche globale et la sauvegarde PDF.
Pour la partie IA, je ne me prends pas trop la tête : j’utilise l’API Gemini, qui permet d’avoir un accès API à moindre coût, sans souscrire à un abonnement préalable. Cela me permet d’intégrer des fonctionnalités IA de manière simple et pragmatique.
Pour automatiser certaines actions (comme la cross-publication sur les réseaux sociaux), j’utilise n8n. L’outil est simple et puissant, même si la version open source reste limitée (pas de SSO ni de LDAP).
Statistiques personnelles
J’aime suivre mes statistiques. J’utilise donc Statistics for Strava pour le sport, et KOInsight pour mes statistiques de lecture via KOReader (oui, même ma liseuse utilise des solutions non standards).
Domotique et impression 3D
Côté domotique, du classique avec Home Assistant. J’ai longtemps utilisé Jeedom, mais j’ai migré il y a plus d’un an, et je suis aujourd’hui un fervent promoteur de Home Assistant. Bien que mon Home Assistant soit hébergé sur une box à part, c’est bien mon NAS qui fait la gestion du sous-domaine et le reverse proxy.
Pour l’impression 3D, j’utilise Fluidd pour le pilotage et Spoolman pour la gestion des bobines de filament.
Téléchargements et médias automatisés
Pour la gestion des téléchargements, j’ai une stack complète comprenant :
- qBittorrent
- Prowlarr
- Sonarr
- Radarr
- Lidarr
- SeedboxSync
- et plus récemment Watcharr, qui a remplacé BetaSeries pour le suivi des séries.
Administration, monitoring et sécurité

Pour l’administration :
- Healthchecks pour vérifier que mes tâches cron s’exécutent correctement,
- CrowdSec déployé sur plusieurs serveurs et connecté à mon routeur afin d’assurer une protection globale, il a récemment remplacé mes instances fail2ban,
- un stack classique Prometheus / Grafana pour le monitoring,
- et ntfy pour la gestion des notifications, en remplacement de Telegram, afin de garder un contrôle total.

Avec un accès uniquement dans mon réseau local, j’utilise également :
- Watchtower pour la mise à jour automatique des conteneurs (avec parfois quelques surprises, mais j’aime être à jour),
- Borg Web UI pour les sauvegardes complètes,
- Databasus pour les sauvegardes PostgreSQL.
À cela s’ajoutent d’autres éléments du réseau : routeurs OpenWRT, AdGuard Home porté par le routeur, et divers équipements domotiques.
Conclusion
J’essaie de moderniser ma stack applicative autant que possible, en privilégiant des solutions légères, efficaces et bien intégrées, avec une préférence marquée pour l’authentification via OIDC. C’est d’ailleurs ce qui a motivé certaines migrations récentes, notamment vers Karakeep.
De Guillaume Kulakowski le 22 janvier 2026
Merci !
Alors pour Home Assistant, j'utilise effectivement un "Jetons d'accès longue durée".
- Home Assistant:icon: sh-home-assistant.webp
href: https://sub.domain.ltd
siteMonitor: http://internal_domain:8123
description: Solution de domotique
widget:
type: homeassistant
url: http://internal_domain:8123
key: TOKEN
custom:
- label: Démarré depuis
template: "{{ relative_time( strptime( states('sensor.uptime'), '%Y-%m-%dT%H:%M:%S%z' ) ) | replace('day', 'jour') | replace('hour', 'heure') | replace('second', 'seconde') }}"
- state: sensor.spook_issues
label: Problème