[{"data":1,"prerenderedAt":205},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-dashboard-selfhosted-homarr-glance-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-heberger-dashboard-selfhosted-homarr-glance-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":145,"ctaBody":146,"ctaButton":147,"ctaUrl":148,"relatedPosts":149},400,"heberger-dashboard-selfhosted-homarr-glance",{"fr":10,"en":12,"ar":13,"es":14},"homarr-vs-glance-self-hosted-dashboard-vps","homarr-glance-لوحة-تحكم-self-hosted-vps","homarr-glance-panel-self-hosted-vps","Homarr ou Glance : tableau de bord self-hosted pour VPS","Comparez Homarr et Glance pour centraliser vos services Docker sur un VPS. Déploiement, config YAML, reverse proxy HTTPS et tableau comparatif inclus.",8,0,false,"2026-09-30T00:00:00+00:00","2026-09-30T11:20:31+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-dashboard-selfhosted-homarr-glance-poster.svg",{"categorySlug":34,"appSlug":35},"monitoring","glance","Vous gérez cinq, dix, quinze conteneurs Docker sur un VPS et vous naviguez entre les interfaces une par une — Dozzle pour les logs, Uptime Kuma pour le statut, Gitea pour le code. Un tableau de bord self-hosted règle ce problème en moins d'une heure. Deux outils se distinguent aujourd'hui : **Homarr**, riche et visuel, et **Glance**, minimaliste et léger (\u003C 50 Mo RAM). Ce guide compare les deux, installe chacun pas à pas et vous aide à choisir.",[38,42,52,55,77,80,98,132,135,139,142],{"type":39,"title":40,"body":41},"h2","Pourquoi un tableau de bord self-hosted sur votre VPS","Un VPS multi-applications sans page centrale est une infrastructure gérée à l'aveugle. Vous mémorisez chaque port (`http:\u002F\u002Fvotre-domaine.com:3001`, `:8080`, `:9000`…), vous perdez du temps à retrouver l'interface d'un service arrêté il y a trois semaines, et vous n'avez aucune vue consolidée de l'état de vos conteneurs.\n\nUn tableau de bord self-hosted résout ça sans alourdir votre infrastructure : une page unique, accessible en HTTPS derrière votre reverse proxy, qui agrège statut, raccourcis et métriques. Vous ne cédez aucune donnée à un service tiers, et vous ne payez pas d'abonnement supplémentaire.",{"type":43,"title":44,"items":45},"ul","Cas d'usage concrets",[46,47,48,49,50,51],"**Page d'accueil de votre navigateur** pointant vers votre propre VPS : tous vos services accessibles en un clic.","**Vue d'état en temps réel** de vos conteneurs Docker sans ouvrir Portainer ou Dozzle.","**Agrégation de flux RSS** et d'actualités tech (Hacker News, Reddit, GitHub releases) sur le même écran que vos services.","**Centralisation des accès** pour une équipe ou une agence qui partage un VPS commun.","**Page de démarrage de votre homelab** ou de votre infrastructure de développement.","**Supervision légère** sans déployer une pile Grafana\u002FPrometheus complète.",{"type":39,"title":53,"body":54},"Homarr : tableau de bord complet avec interface graphique","Homarr est un tableau de bord self-hosted en Next.js avec une interface de configuration entièrement graphique — vous glissez-déposez des tuiles, configurez des intégrations Docker, Sonarr, Radarr, Jellyfin ou tout service disposant d'une API. Il tourne dans un seul conteneur Docker (image `ghcr.io\u002Fhomarr-labs\u002Fhomarr`) et persiste sa configuration sur un volume.\n\n**Prérequis** : un VPS avec au moins 512 Mo de RAM disponibles après vos autres conteneurs, Docker et Docker Compose installés, et un nom de domaine ou sous-domaine pointé vers votre IP. Comptez 150 à 250 Mo de RAM au repos selon les intégrations actives.",{"type":56,"title":57,"steps":58},"steps","Déployer Homarr avec Docker Compose",[59,62,65,68,71,74],{"title":60,"body":61},"Créer le répertoire et le fichier Compose","Sur votre VPS, créez un répertoire dédié et un fichier `docker-compose.yml` :\n\n```bash\nmkdir -p \u002Fopt\u002Fhomarr && cd \u002Fopt\u002Fhomarr\n```\n\nContenu du fichier `docker-compose.yml` :\n\n```yaml\nservices:\n  homarr:\n    image: ghcr.io\u002Fhomarr-labs\u002Fhomarr:latest\n    container_name: homarr\n    restart: unless-stopped\n    volumes:\n      - \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro\n      - .\u002Fappdata:\u002Fappdata\n    environment:\n      - SECRET_ENCRYPTION_KEY=votre-cle-aleatoire-32-chars\n    ports:\n      - \"7575:7575\"\n```\n\n`SECRET_ENCRYPTION_KEY` est **obligatoire** : Homarr chiffre les secrets de ses intégrations (tokens API, mots de passe) avec cette clé. Générez-en une avec `openssl rand -hex 32`.",{"title":63,"body":64},"Générer la clé de chiffrement","Homarr exige une clé de 64 caractères hexadécimaux :\n\n```bash\nopenssl rand -hex 32\n```\n\nCopiez la valeur dans `SECRET_ENCRYPTION_KEY` du fichier Compose. Sans cette variable, le conteneur refuse de démarrer.",{"title":66,"body":67},"Démarrer le conteneur","```bash\ndocker compose up -d\n```\n\nHomarr est accessible sur `http:\u002F\u002Fvotre-domaine.com:7575`. Lors du premier accès, créez votre compte administrateur. La configuration initiale (tuiles, thème, intégrations) se fait entièrement depuis l'interface web.",{"title":69,"body":70},"Configurer l'intégration Docker","Le socket Docker (`\u002Fvar\u002Frun\u002Fdocker.sock`) est monté en lecture seule. Dans l'interface Homarr, allez dans **Paramètres → Intégrations** et ajoutez une intégration Docker pointant vers `unix:\u002F\u002F\u002Fvar\u002Frun\u002Fdocker.sock`. Homarr affichera automatiquement l'état (running\u002Fstopped) de vos conteneurs sur les tuiles associées.",{"title":72,"body":73},"Configurer Traefik comme reverse proxy","Pour exposer Homarr en HTTPS, ajoutez ces labels à votre service dans le fichier Compose :\n\n```yaml\nlabels:\n  - \"traefik.enable=true\"\n  - \"traefik.http.routers.homarr.rule=Host(`dashboard.votre-domaine.com`)\"\n  - \"traefik.http.routers.homarr.entrypoints=websecure\"\n  - \"traefik.http.routers.homarr.tls.certresolver=letsencrypt\"\n  - \"traefik.http.services.homarr.loadbalancer.server.port=7575\"\n```\n\nSupprimez le bloc `ports` si vous exposez uniquement via Traefik. Consultez l'article \u003Ca href=\"\u002Fblog\u002Fdeployer-avec-traefik\">Déployer avec Traefik\u003C\u002Fa> pour la configuration complète.",{"title":75,"body":76},"Alternative nginx","Si vous utilisez nginx, créez un vhost `\u002Fetc\u002Fnginx\u002Fsites-available\u002Fhomarr.conf` :\n\n```nginx\nserver {\n    listen 443 ssl;\n    server_name dashboard.votre-domaine.com;\n\n    ssl_certificate     \u002Fetc\u002Fletsencrypt\u002Flive\u002Fdashboard.votre-domaine.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fdashboard.votre-domaine.com\u002Fprivkey.pem;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:7575;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n    }\n}\n```\n\nCertificat Let's Encrypt via `certbot --nginx -d dashboard.votre-domaine.com`.",{"type":39,"title":78,"body":79},"Glance : un binaire Go, une config YAML, zéro base de données","Glance est à l'opposé de Homarr dans le spectre de complexité. C'est un binaire Go statique : pas de Node.js, pas de base de données, pas d'interface de configuration. Tout se déclare dans un fichier `glance.yml`. Il consomme **moins de 50 Mo de RAM** au repos, ce qui en fait le choix naturel pour un VPS serré ou pour un serveur où chaque mégaoctet compte.\n\nLicence : **AGPL-3.0** (identique à Homarr). Code source sur GitHub.",{"type":56,"title":81,"steps":82},"Déployer Glance avec Docker",[83,86,89,92,95],{"title":84,"body":85},"Créer le répertoire et le fichier de configuration","```bash\nmkdir -p \u002Fopt\u002Fglance && cd \u002Fopt\u002Fglance\n```\n\nCréez un fichier `glance.yml` minimal avec un widget Hacker News et un widget Docker :\n\n```yaml\nserver:\n  host: 0.0.0.0\n  port: 8080\n\npages:\n  - name: Accueil\n    columns:\n      - size: full\n        widgets:\n          - type: hacker-news\n            title: Hacker News\n\n      - size: small\n        widgets:\n          - type: docker-containers\n            title: Conteneurs\n            collapsed-by-default: false\n```\n\nGlance expose le port **8080** par défaut.",{"title":87,"body":88},"Lancer avec Docker Compose","Créez un fichier `docker-compose.yml` :\n\n```yaml\nservices:\n  glance:\n    image: glanceapp\u002Fglance:latest\n    container_name: glance\n    restart: unless-stopped\n    volumes:\n      - .\u002Fglance.yml:\u002Fapp\u002Fglance.yml:ro\n      - \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro\n    ports:\n      - \"8080:8080\"\n```\n\nDémarrez avec :\n\n```bash\ndocker compose up -d\n```\n\nGlance est accessible sur `http:\u002F\u002Fvotre-domaine.com:8080`.",{"title":90,"body":91},"Ajouter un widget météo","Le widget `weather` est l'un des plus simples à configurer — il ne demande qu'une localisation :\n\n```yaml\n- type: weather\n  title: Météo\n  location: Paris, France\n  units: metric\n  hour-format: 24h\n```\n\nAjoutez ce bloc dans la section `widgets` de la colonne de votre choix.",{"title":93,"body":94},"Configurer le reverse proxy pour Glance","Avec Traefik, ajoutez dans votre `docker-compose.yml` :\n\n```yaml\nlabels:\n  - \"traefik.enable=true\"\n  - \"traefik.http.routers.glance.rule=Host(`glance.votre-domaine.com`)\"\n  - \"traefik.http.routers.glance.entrypoints=websecure\"\n  - \"traefik.http.routers.glance.tls.certresolver=letsencrypt\"\n  - \"traefik.http.services.glance.loadbalancer.server.port=8080\"\n```\n\nAvec nginx, même structure que Homarr, en remplaçant le port par `8080`.",{"title":96,"body":97},"Rechargement à chaud de la configuration","Glance surveille son fichier de configuration et se recharge automatiquement quand vous le modifiez. Pas besoin de redémarrer le conteneur après chaque ajout de widget — `docker logs glance -f` affichera la ligne `Config reloaded` après quelques secondes.",{"type":99,"title":100,"headers":101,"rows":105},"comparison","Homarr vs Glance : tableau comparatif",[102,103,104],"Critère","Homarr","Glance",[106,110,114,118,122,125,128],[107,108,109],"RAM au repos","150 – 250 Mo","\u003C 50 Mo",[111,112,113],"Configuration","Interface graphique drag & drop","Fichier YAML uniquement",[115,116,117],"Base de données","SQLite embarquée","Aucune",[119,120,121],"Widgets disponibles","Intégrations (Sonarr, Jellyfin, Docker…) + tuiles libres","RSS, Hacker News, météo, Docker, GitHub, calendrier…",[123,124,124],"Mise à jour","`docker compose pull && docker compose up -d`",[126,127,127],"Licence","AGPL-3.0",[129,130,131],"Idéal pour","Infrastructure riche, usage quotidien, partage d'équipe","VPS léger, homelabs minimalistes, consultation rapide",{"type":39,"title":133,"body":134},"Exposer en HTTPS avec un reverse proxy","Les deux outils écoutent sur HTTP en local (`7575` pour Homarr, `8080` pour Glance). Exposer un tableau de bord directement sur Internet sans TLS revient à transmettre vos jetons d'intégration et vos sessions en clair.\n\nDeux options courantes :\n\n**Traefik** — l'option recommandée si vous avez déjà Traefik sur votre VPS. Les labels suffisent (exemples ci-dessus). Traefik demande et renouvelle les certificats Let's Encrypt automatiquement via ACME DNS-01 ou HTTP-01. Voir l'article \u003Ca href=\"\u002Fblog\u002Fdeployer-avec-traefik\">Déployer avec Traefik\u003C\u002Fa> pour la configuration du resolver `letsencrypt`.\n\n**nginx** — l'option naturelle si votre VPS tourne déjà sous nginx. Le vhost de type `proxy_pass http:\u002F\u002F127.0.0.1:\u003Cport>` est identique pour les deux outils ; seul le port change.",{"type":136,"title":137,"body":138},"tip","Durcissement : limiter l'accès au tableau de bord","Un tableau de bord self-hosted expose vos services internes. Quelques précautions :\n\n**Authentification Homarr** : activez l'authentification intégrée dès la première connexion. Ne laissez pas le tableau de bord ouvert sans mot de passe, même derrière un sous-domaine obscur.\n\n**Glance** : ne propose pas d'authentification native. Protégez-le avec un middleware Traefik (`BasicAuth` ou `ForwardAuth`) ou via un `auth_basic` nginx avant de l'exposer publiquement.\n\n**Réseau Docker dédié** : créez un réseau `internal: true` pour les services qui n'ont pas besoin d'accès extérieur, et connectez uniquement Homarr ou Glance au réseau Traefik.\n\n**Accès en lecture seule au socket Docker** : les deux outils montent `\u002Fvar\u002Frun\u002Fdocker.sock` — montez-le en `:ro` (lecture seule) comme dans les exemples ci-dessus. Un conteneur compromis ne pourra pas lancer de nouveaux conteneurs via le socket.",{"type":39,"title":140,"body":141},"Dépannage : erreurs courantes","**Homarr refuse de démarrer — `SECRET_ENCRYPTION_KEY missing`** : la variable d'environnement est absente ou vide. Générez une clé avec `openssl rand -hex 32` et ajoutez-la dans le fichier Compose.\n\n**Homarr affiche « Docker integration error »** : vérifiez que `\u002Fvar\u002Frun\u002Fdocker.sock` est bien monté dans le conteneur (`docker inspect homarr | grep docker.sock`) et que le socket est lisible par l'utilisateur qui fait tourner Docker.\n\n**Glance ne charge pas le widget `docker-containers`** : le socket Docker n'est pas monté ou le service Docker n'est pas accessible depuis le conteneur. Ajoutez le volume `` \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock:ro `` dans le Compose.\n\n**Glance affiche un écran blanc** : votre `glance.yml` contient une erreur de syntaxe YAML (indentation, tabulation au lieu d'espaces). Vérifiez avec `docker logs glance` — le message d'erreur indique la ligne exacte.\n\n**Erreur 502 Bad Gateway derrière nginx\u002FTraefik** : le conteneur n'est pas démarré ou le port ne correspond pas. Vérifiez avec `docker ps | grep homarr` ou `docker ps | grep glance`, et assurez-vous que le port dans votre reverse proxy correspond à celui exposé (`7575` ou `8080`).",{"type":39,"title":143,"body":144},"Quel outil choisir ?","**Choisissez Homarr** si vous avez plusieurs services avec des APIs (Sonarr, Radarr, Jellyfin, Pi-hole…), si vous préférez configurer via une interface graphique, ou si vous partagez votre tableau de bord avec d'autres personnes. Comptez 200 Mo de RAM de plus dans votre budget conteneur.\n\n**Choisissez Glance** si votre VPS est serré en mémoire, si vous êtes à l'aise avec YAML, ou si vous cherchez un outil qui démarre en quelques secondes et consomme le minimum. La configuration versionnée dans un fichier texte est aussi un avantage pour les environnements gérés en infrastructure-as-code.\n\nLes deux coexistent sans problème sur le même VPS si vous avez la RAM — Homarr comme tableau de bord principal, Glance comme vue rapide côte à côte.","Un VPS pour héberger votre tableau de bord","Un VPS ServOrbit avec accès root et IPv4 dédiée vous donne la liberté d'exécuter Homarr, Glance et tous vos services derrière un reverse proxy, sans restriction de ports ni de conteneurs.","Déployer sur VPS","\u002Fvps-cloud",[150,171,187],{"id":151,"slug":152,"slugs":153,"title":157,"excerpt":158,"readTime":159,"views":18,"isPinned":19,"publishedAt":160,"updatedAt":161,"category":162,"categories":167,"featuredImage":30,"bgImage":31,"posterImage":169,"relatedSolution":170},190,"self-host-glance-vps",{"fr":152,"en":154,"ar":155,"es":156},"self-host-glance-your-startpage-dashboard-on-a-vps","استضف-glance-ذاتيا-لوحة-بداية-على-خادم-vps","alojar-glance-en-un-vps","Héberger Glance sur un VPS : votre tableau de bord de démarrage","Déployez Glance sur un VPS ServOrbit : Hacker News, flux RSS, stats CPU\u002FRAM\u002Fdisque et statut des conteneurs Docker sur une seule page — binaire Go, sans base de données.",4,"2026-07-24T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":17,"name":163,"slug":164,"color":165,"icon":166},"Sécurité & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[168],{"id":17,"name":163,"slug":164,"color":165,"icon":166},"\u002Fblog\u002Fcovers\u002Fself-host-glance-vps-poster.svg",{"categorySlug":34,"appSlug":35},{"id":172,"slug":173,"slugs":174,"title":178,"excerpt":179,"readTime":23,"views":180,"isPinned":19,"publishedAt":181,"updatedAt":182,"category":183,"categories":184,"featuredImage":30,"bgImage":31,"posterImage":186,"relatedSolution":30},92,"heberger-homepage",{"fr":173,"en":175,"ar":176,"es":177},"hosting-homepage-on-your-own-vps","استضافة-homepage-على-خادم-vps-الخاص-بك","alojar-homepage-en-un-vps","Héberger Homepage sur votre propre VPS","Déployez Homepage, le dashboard open-source, sur VPS avec Docker. Guide complet : YAML, widgets, reverse proxy Caddy\u002FTraefik, SSL, sécurité et sauvegarde.",2,"2026-03-20T00:00:00+00:00","2026-09-19T02:00:43+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[185],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-homepage-poster.svg",{"id":188,"slug":189,"slugs":190,"title":194,"excerpt":195,"readTime":196,"views":18,"isPinned":19,"publishedAt":197,"updatedAt":161,"category":198,"categories":202,"featuredImage":30,"bgImage":31,"posterImage":204,"relatedSolution":30},38,"deployer-avec-traefik",{"fr":189,"en":191,"ar":192,"es":193},"deploy-your-applications-with-traefik-on-a-vps","انشر-تطبيقاتك-باستخدام-traefik-على-خادم-vps","desplegar-con-traefik","Déployer vos applications avec Traefik sur un VPS","Déployez Traefik en reverse proxy sur votre VPS : routage automatique des conteneurs Docker, certificats SSL Let's Encrypt et load balancing.",3,"2026-05-13T00:00:00+00:00",{"id":196,"name":199,"slug":200,"color":201,"icon":200},"Déploiement","deploiement","bg-success\u002F10 text-success",[203],{"id":196,"name":199,"slug":200,"color":201,"icon":200},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-traefik-poster.svg",1790779461358]