Homepage - Dashboard unifié pour tous les services

#homepage#dashboard#docker#self-hosting

🎯 Le problème

Avec plus de 30 services qui tournent, retenir chaque port et chaque URL devient vite ingérable. Homepage (gethomepage/homepage) résout ça : une page unique qui liste tous les services, organisés par catégorie, avec icône et lien direct.

🐳 Installation

services:
  homepage:
    image: ghcr.io/gethomepage/homepage:latest
    container_name: homepage
    restart: unless-stopped
    ports:
      - "5000:3000"
    volumes:
      - ./config:/app/config
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /mnt/disk1:/mnt/disk1:ro
      - /mnt/disk2:/mnt/disk2:ro
    environment:
      HOMEPAGE_ALLOWED_HOSTS: "*"

Le montage du socket Docker (en lecture seule) permet à Homepage de savoir automatiquement si chaque service tourne, sans avoir à le déclarer manuellement.

📝 Configuration

Tout se passe dans ./config/*.yaml :

  • services.yaml — la liste des services, groupés par catégorie (Média, Réseau, Domotique…), chacun avec son icône, sa description, et un lien direct vers le conteneur Docker correspondant pour le statut live
  • bookmarks.yaml — liens externes utiles (docs, dashboards tiers)
  • widgets.yaml — petits widgets d’info (météo, ressources système…)
  • settings.yaml — thème, disposition générale

Exemple d’entrée de service :

- Media:
    - Jellyfin:
        href: http://<SERVER_IP>:8096
        icon: jellyfin.png
        description: Serveur média
        container: jellyfin

Le champ container fait le lien avec le socket Docker pour afficher l’état (en ligne / arrêté) en direct sur la tuile.

✅ Résultat

Une seule page à retenir pour accéder à absolument tout : Jellyfin, les *arr, Pi-hole, Nginx Proxy Manager, Vaultwarden, Home Assistant, etc. — chacun avec son statut à jour sans rien avoir à vérifier manuellement.

🔗 Voir aussi