Skip to content

Homepage

Dashboard moderne regroupant accès rapides à tous services du homelab.

Informations

Paramètre Valeur
Container LXC 101 - management
IP:Port 192.168.1.101:3000
Image ghcr.io/gethomepage/homepage:latest
Version 0.9.10

Configuration Docker

services:
    homepage:
        container_name: homepage
        image: ghcr.io/gethomepage/homepage:latest
        ports:
            - "3000:3000"
        volumes:
            - /root/homepage/config:/app/config
            - /var/run/docker.sock:/var/run/docker.sock:ro
        environment:
            - TZ=Europe/Paris
        restart: unless-stopped

Structure Configuration

/root/homepage/config/
├── services.yaml      # Services organisés par groupes
├── widgets.yaml       # Widgets dashboard (météo, date, etc.)
├── bookmarks.yaml     # Liens rapides
├── docker.yaml        # Integration Docker stats
└── settings.yaml      # Paramètres généraux

services.yaml

Organisation services par LXC container :

- Média (LXC 100):
      - Jellyfin:
            href: http://192.168.1.100:8096
            description: Streaming média
            icon: jellyfin.svg

      - Sonarr:
            href: http://192.168.1.100:8989
            description: Séries TV
            icon: sonarr.svg
            widget:
                type: sonarr
                url: http://192.168.1.100:8989
                key: { { SONARR_API_KEY } }

      - Radarr:
            href: http://192.168.1.100:7878
            description: Films
            icon: radarr.svg
            widget:
                type: radarr
                url: http://192.168.1.100:7878
                key: { { RADARR_API_KEY } }

- Management (LXC 101):
      - Portainer:
            href: http://192.168.1.101:9000
            description: Docker UI
            icon: portainer.svg

      - Documentation:
            href: http://192.168.1.101:8001
            description: Zensical homelab
            icon: book.svg

- Infrastructure:
      - Proxmox:
            href: https://192.168.1.21:8006
            description: Hyperviseur
            icon: proxmox.svg

      - PBS:
            href: https://192.168.1.102:8007
            description: Backups
            icon: proxmox.svg

widgets.yaml

Widgets informationnels :

- datetime:
      format:
          dateStyle: long
          timeStyle: short
          hour12: false

- search:
      provider: google

- resources:
      cpu: true
      memory: true
      disk: /

- greeting:
      text: Homelab Dashboard

bookmarks.yaml

Liens externes utiles :

- Utilitaires:
      - GitHub:
            - abbr: GH
              href: https://github.com
      - Reddit Homelab:
            - abbr: r/HL
              href: https://reddit.com/r/homelab

- Guides:
      - TRaSH Guides:
            - abbr: TG
              href: https://trash-guides.info
      - Proxmox Docs:
            - abbr: PVE
              href: https://pve.proxmox.com/wiki/

docker.yaml

Stats containers Docker :

socket: /var/run/docker.sock

Widgets automatiques :

  • CPU/RAM usage par container
  • Network I/O
  • Status (running/stopped)

settings.yaml

title: Homelab Dashboard
favicon: /icons/home.svg
theme: dark
color: slate

layout:
    Média (LXC 100):
        style: row
        columns: 3
    Management (LXC 101):
        style: row
        columns: 2
    Infrastructure:
        style: row
        columns: 2

hideErrors: true
showStats: true

Widgets Intégrations

Sonarr/Radarr Widget

Affiche :

  • Queue downloads
  • Séries/Films manquants
  • Activité récente

Configuration :

widget:
    type: sonarr # ou radarr
    url: http://192.168.1.100:8989
    key: API_KEY_HERE

SABnzbd Widget

Affiche :

  • Download speed
  • Queue size
  • Time remaining
widget:
    type: sabnzbd
    url: http://192.168.1.100:8080
    key: API_KEY_HERE

Proxmox Widget

Affiche :

  • CPU usage host
  • Memory usage
  • VMs/LXC status
widget:
    type: proxmox
    url: https://192.168.1.21:8006
    username: api-user@pve
    password: API_TOKEN

Customization

Thèmes

settings.yaml :

theme: dark # ou light
color: slate # slate, gray, zinc, neutral, stone, red, orange, amber, etc.

Icons Custom

# Ajouter icons dans
/root/homepage/config/icons/

# Référencer
icon: /icons/custom-icon.svg

CSS Custom

# settings.yaml
customCSS: |
    .card {
      border-radius: 10px;
    }

Mise à Jour

# Sur LXC 101
cd /root
docker compose pull homepage
docker compose up -d homepage

# Vérifier
docker logs homepage

Troubleshooting

Page Blanche

# Vérifier logs
docker logs homepage

# Permissions config files
ls -la /root/homepage/config/
chmod 644 /root/homepage/config/*.yaml

Widgets Ne Fonctionnent Pas

Vérifier API Keys :

# Test Sonarr API
curl http://192.168.1.100:8989/api/v3/system/status \
  -H "X-Api-Key: YOUR_KEY"

# Si erreur → regenerate API key

Docker Stats Non Affichés

# Vérifier socket permission
ls -la /var/run/docker.sock

# Doit être accessible par container
docker exec homepage ls -la /var/run/docker.sock

Alternatives

  • Heimdall : Plus simple, moins features
  • Organizr : Focus proxy tabs
  • Homarr : Similar, plus customization
  • Dashy : Plus configurable mais complexe

Ressources