percoandClaude Sonnet 4.6 a0db958993 feat: add PercoMemo, PrintVault, HomeStatus, MonStatut
- services.json: ajout de 4 nouveaux projets dans "Mes Projets"
  - PercoMemo (docker percomemo, memo.nas.percolouco.com)
  - PrintVault (docker printvault, printvault.nas.percolouco.com)
  - HomeStatus (port 9200, PHP built-in)
  - MonStatut (port 9201, PHP built-in)
- index.php: ajout carte PrintVault, fix URL PercoMemo (9400 → memo.nas.percolouco.com), compteur 4→5

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 13:47:44 +02:00

PercoHub 🏠

Dashboard centralisé pour accéder à tous les services et projets du homelab de Perco.

Stack

  • Backend : PHP 8 (lecture services.json, check Docker + HTTP)
  • Frontend : Tailwind CSS CDN + Vanilla JS
  • Données : services.json — catalogue éditable manuellement

Démarrage

nohup php -S 0.0.0.0:9300 -t /home/perco/projects/percohub/ > /tmp/percohub-php.log 2>&1 &

URL locale : http://192.168.1.29:9300

Fonctionnalités

  • Vue centralisée de tous les services (Docker + projets PHP)
  • Status live (Docker inspect + HTTP ping)
  • Catégories : Projets Luca / Infrastructure / Média / Domotique / Productivité / VPN Firefox
  • Filtre par catégorie (navbar)
  • Stats globales (online/offline)
  • Auto-refresh toutes les 30s
  • Clic sur une carte → ouvre l'URL dans un nouvel onglet
  • Dark theme cohérent avec les autres projets

Structure

percohub/
├── index.php       # Page principale (shell HTML)
├── api.php         # Backend : statuts Docker + HTTP
├── services.json   # Catalogue des services (à éditer)
├── assets/
│   ├── style.css   # Dark theme custom
│   └── app.js      # Frontend : rendu, refresh, filtres
└── README.md

Ajouter un service

Éditer services.json — ajouter un objet dans le tableau services de la bonne catégorie :

{
  "name": "Mon Service",
  "desc": "Description courte",
  "url": "http://192.168.1.29:PORT",
  "docker": "nom-du-container",
  "tags": ["tag1", "tag2"]
}
  • url : null si pas d'interface web
  • docker : null si ce n'est pas un container Docker (ex: serveur PHP)
  • Si docker est renseigné → status via docker inspect
  • Si seulement url → status via HTTP ping

Ajouter une catégorie

Dans services.json, ajouter dans le tableau categories :

{
  "id": "ma-categorie",
  "name": "Ma Catégorie",
  "icon": "🔌",
  "color": "violet",
  "services": [...]
}

Couleurs disponibles : violet, slate, amber, emerald, sky, orange, rose

API

Endpoint Description
/api.php?action=all Tous les services avec statuts
/api.php?action=config Catalogue brut (sans checks)
/api.php?action=docker Liste tous les containers Docker

Catégories actuelles

Catégorie Services
🛠️ Projets Luca AgentStats, CronViz, MonStatut, AgentChat, HomeStatus
🔧 Infrastructure Portainer, Traefik, Grafana, InfluxDB, Dashdot, Watchtower
🎬 Média Plex, Jellyseerr, Sonarr, Radarr, Lidarr, Prowlarr, Jackett, qBittorrent, Pinchflat, Tautulli
🏠 Domotique Home Assistant, ESPhome, Syncthing, Grott, Bresser Live, Mosquitto
💼 Productivité Nextcloud, Gitea, VSCode, Planka, Actual Budget, CronMaster, Homarr
🦊 VPN Firefox retak, coucouze, roxxor, xouz, nale
S
Description
Dashboard centralisé homelab — tous les services en un coup dœil
Readme
96 KiB
Languages
JavaScript 29.2%
Hack 29.1%
CSS 21.5%
PHP 20.2%