Dashy - Portail Centralisé de Services
URL: https://dashy.srv759970.hstgr.cloud Version: Dashy v3.1.1 Container: dashy Configuration: /opt/dashy/conf.yml Docker Compose: /opt/dashy/docker-compose.yml
Vue d'Ensemble
Dashy est un dashboard de navigation centralisé offrant un accès rapide à tous les services déployés sur srv759970.hstgr.cloud.
Statistiques
- 30+ services organisés en 13 catégories
- 8+ APIs avec documentation Swagger/OpenAPI
- 40+ conteneurs Docker monitorés
- 13 services protégés par Basic Auth
- Status checks temps réel (interval: 5 minutes)
Catégories de Services
🎤 APIs de Transcription (Speech-to-Text)
| Service | URL | Description |
|---|---|---|
| WhisperX API | /docs | Transcription avec diarization (pyannote-audio) |
| Faster-Whisper Queue | /docs | Transcription async avec RQ |
| Faster-Whisper Direct | /docs | Transcription rapide OpenAI-compatible |
🤖 APIs AI & Machine Learning
| Service | URL | Description |
|---|---|---|
| Ollama LLM | API | Inférence LLM locale (qwen2.5, mistral, llama) |
| NeuTTS-Air API | /docs | TTS avec voice cloning |
| NeuTTS-Air UI | App | Interface Streamlit pour TTS |
📚 APIs RAG & Semantic Search
| Service | URL | Description |
|---|---|---|
| RAGFlow | App | RAG avancé (ES, MySQL, Redis, MinIO) |
| RAG-Anything | /docs | Multimodal RAG avec knowledge graph |
| MemVid RAG | /docs | RAG sémantique avec encodage vidéo |
🔧 APIs Utilitaires
| Service | URL | Description |
|---|---|---|
| Apache Tika | API | Parsing 1000+ formats documents |
| Portail Swagger Unifié | UI | Swagger UI centralisé |
📊 Monitoring & Observabilité
| Service | URL | Description |
|---|---|---|
| Grafana | Dashboard | Prometheus + Loki |
| Prometheus | Metrics | Time-series metrics |
| RQ Dashboard | Jobs | Redis Queue monitoring |
| Dozzle | Logs | Docker logs temps réel |
| Netdata | System | Métriques système |
| Portainer | Admin | Gestion Docker GUI |
🌐 Applications Web & Dashboards
| Service | URL | Description |
|---|---|---|
| Support Dashboard | App | IT Support (Streamlit) |
| SharePoint Dashboards | App | Analytics SharePoint |
| API & Admin Portal | Portal | Documentation centralisée |
🏢 Sites Web & CMS
| Service | URL | Description |
|---|---|---|
| Cristina Site | Site | Site Astro SSG |
| Cristina Admin (Strapi) | Admin | CMS Strapi 5 |
| Clémence Site | Site | WordPress Docker |
| SolidarLink | Site | WordPress natif |
📖 Documentation & Portails
| Service | URL | Description |
|---|---|---|
| MkDocs Documentation | Docs | Documentation technique (60+ guides) |
| Dashy Dashboard | Portal | Ce portail |
🔗 Liens Rapides - Swagger/OpenAPI
Section dédiée avec tous les endpoints de documentation interactive:
- WhisperX: Swagger UI | ReDoc
- Faster-Whisper Queue: Swagger UI | ReDoc
- Faster-Whisper Direct: Swagger UI
- NeuTTS-Air: Swagger UI
- MemVid RAG: Swagger UI
- RAG-Anything: Swagger UI
- Portail Unifié: Multi-API Swagger
Configuration
Structure du Fichier conf.yml
pageInfo:
title: srv759970 Services Portal
description: Portail Centralisé - APIs, Applications & Infrastructure
navLinks:
- title: GitHub
path: https://github.com/julienfernandez
- title: Documentation Technique
path: https://docs.srv759970.hstgr.cloud
- title: Analyse Auth Strategy
path: https://docs.srv759970.hstgr.cloud/analysis/auth-strategy-oauth-vs-basic/
appConfig:
theme: colorful
layout: auto
iconSize: medium
language: fr
statusCheck: true
statusCheckInterval: 300 # 5 minutes
defaultOpeningMethod: newtab
Sections Principales
- APIs de Transcription (3 services)
- APIs AI & ML (3 services)
- APIs RAG & Search (3 services)
- APIs Utilitaires (2 services)
- Monitoring (6 services)
- Applications Web (3 services)
- Sites Web & CMS (4 services)
- Documentation (2 services)
- Infrastructure (6 composants)
- Sécurité (3 composants)
- Services RAG (5 composants)
- Liens Swagger (9 endpoints)
- Informations Serveur (3 infos)
Status Checks
Dashy vérifie automatiquement l'état de tous les services toutes les 5 minutes.
Health Check Endpoints
# Exemple WhisperX
statusCheck: true
statusCheckUrl: https://whisperx.srv759970.hstgr.cloud/
# Exemple Prometheus
statusCheck: true
statusCheckUrl: http://srv759970.hstgr.cloud:9090/-/healthy
Indicateurs d'État
- 🟢 Vert: Service accessible et opérationnel
- 🔴 Rouge: Service inaccessible ou erreur
- ⚪ Gris: Status check désactivé
Déploiement
Docker Compose
# /opt/dashy/docker-compose.yml
version: '3.8'
services:
dashy:
image: lissy93/dashy:latest
container_name: dashy
restart: unless-stopped
ports:
- "4000:80"
volumes:
- ./conf.yml:/app/public/conf.yml
- dashy-icons:/app/public/item-icons
environment:
- NODE_ENV=production
healthcheck:
test: ["CMD", "node", "/app/services/healthcheck"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes:
dashy-icons:
Commandes de Gestion
# Démarrer Dashy
cd /opt/dashy
docker-compose up -d
# Redémarrer après modification config
docker-compose restart
# Voir les logs
docker-compose logs -f
# Vérifier le status
docker-compose ps
# Rebuild complet
docker-compose down
docker-compose up -d --build
Nginx Configuration
# /etc/nginx/sites-available/dashy
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name dashy.srv759970.hstgr.cloud;
ssl_certificate /etc/letsencrypt/live/faster-whisper.srv759970.hstgr.cloud/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/faster-whisper.srv759970.hstgr.cloud/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
# Basic Auth
include snippets/basic-auth.conf;
location / {
proxy_pass http://127.0.0.1:4000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# HTTP -> HTTPS redirect
server {
listen 80;
listen [::]:80;
server_name dashy.srv759970.hstgr.cloud;
return 301 https://$host$request_uri;
}
Personnalisation
Ajouter un Nouveau Service
- Éditer
/opt/dashy/conf.yml - Ajouter l'item dans la section appropriée:
- title: Mon Nouveau Service
description: Description du service
icon: fas fa-rocket # Font Awesome icon
url: https://service.srv759970.hstgr.cloud
target: newtab
statusCheck: true
statusCheckUrl: https://service.srv759970.hstgr.cloud/health
tags: [API, Custom, HTTPS]
- Redémarrer Dashy:
Icons Disponibles
- Font Awesome:
fas fa-icon-name - Homelab Icons:
hl-service-name(ex:hl-docker,hl-grafana) - Material Design Icons:
mdi-icon-name - Custom Images: Placer dans
/app/public/item-icons/
Thèmes Disponibles
theme: colorful # (Actuel)
# Alternatives:
# theme: default
# theme: material-dark
# theme: material-light
# theme: nord
# theme: nord-frost
# theme: dracula
# theme: high-contrast-dark
# theme: high-contrast-light
Widgets
Clock Widget (Infrastructure Section)
Autres Widgets Disponibles
- Weather: Météo locale
- RSS Feed: Flux RSS
- iFrame: Embed sites externes
- System Info: Infos système
- Image: Affichage d'images
Maintenance
Mise à Jour Dashy
Backup Configuration
# Backup conf.yml
cp /opt/dashy/conf.yml /opt/dashy/conf.yml.backup-$(date +%Y%m%d)
# Backup complet
tar -czf /root/backups/dashy-$(date +%Y%m%d).tar.gz /opt/dashy/
Validation Configuration
# Vérifier la syntaxe YAML
docker run --rm -v /opt/dashy/conf.yml:/conf.yml mikefarah/yq eval /conf.yml
# Voir les logs de build
docker logs dashy --tail 50
Troubleshooting
Build Errors
Symptôme: Build échoue avec erreur OpenSSL
Solution: Utiliser Node.js legacy OpenSSL (déjà configuré)
Status Checks Timeout
Symptôme: Services marqués comme "down" alors qu'ils fonctionnent
Solution: Augmenter l'intervalle de check
Services Inaccessibles
Symptôme: 401 Unauthorized sur certains services
Solution: Vérifier Basic Auth dans Nginx
# Test sans auth
curl -I https://whisperx.srv759970.hstgr.cloud
# Test avec auth
curl -I -u julien:DevAccess2025 https://whisperx.srv759970.hstgr.cloud
Sécurité
Basic Auth Protection
Dashy est protégé par HTTP Basic Authentication:
- Username:
julien - Password:
DevAccess2025 - Fichier:
/etc/nginx/.htpasswd
HTTPS/TLS
- Certificat: Let's Encrypt
- Expiration: 2026-01-18
- Auto-renewal: Activé via Certbot
Recommandations
- ✅ Garder Basic Auth pour accès sécurisé
- ✅ Envisager Tailscale VPN pour accès network-level (voir Analyse Auth Strategy)
- ⚠️ Ne pas exposer Dashy sans authentification
Statistiques
Métriques de Configuration Actuelle
- Total Items: 60+ services et composants
- Sections: 13 catégories
- Swagger Endpoints: 9 APIs documentées
- Status Checks: 35+ endpoints monitorés
- Taille Config: ~400 lignes YAML
Performance
- Build Time: ~30-40 secondes
- Page Load: < 2 secondes
- Status Check Interval: 5 minutes
- Bundle Size: ~13MB (prod build)
Voir Aussi
- Infrastructure > Nginx - Configuration reverse proxy
- Infrastructure > Security - Basic Auth setup
- Analysis > Auth Strategy - OAuth vs Basic Auth
- MkDocs Documentation - Documentation complète
Liens Externes
- Dashy Official Docs: https://dashy.to/docs
- GitHub Repository: https://github.com/Lissy93/dashy
- Icon Sets: https://dashy.to/docs/icons
Dernière mise à jour: 2025-01-21 Prochaine révision: Après ajout de nouveaux services