Aller au contenu

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
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:

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

  1. APIs de Transcription (3 services)
  2. APIs AI & ML (3 services)
  3. APIs RAG & Search (3 services)
  4. APIs Utilitaires (2 services)
  5. Monitoring (6 services)
  6. Applications Web (3 services)
  7. Sites Web & CMS (4 services)
  8. Documentation (2 services)
  9. Infrastructure (6 composants)
  10. Sécurité (3 composants)
  11. Services RAG (5 composants)
  12. Liens Swagger (9 endpoints)
  13. 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

  1. Éditer /opt/dashy/conf.yml
  2. 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]
  1. Redémarrer Dashy:
cd /opt/dashy
docker-compose restart

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)

widgets:
  - type: clock
    options:
      timeZone: Europe/Paris
      format: fr-FR
      hideDate: false

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

cd /opt/dashy
docker-compose pull
docker-compose up -d

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é)

environment:
  - NODE_OPTIONS=--openssl-legacy-provider

Status Checks Timeout

Symptôme: Services marqués comme "down" alors qu'ils fonctionnent

Solution: Augmenter l'intervalle de check

appConfig:
  statusCheckInterval: 600  # 10 minutes au lieu de 5

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

  1. Garder Basic Auth pour accès sécurisé
  2. Envisager Tailscale VPN pour accès network-level (voir Analyse Auth Strategy)
  3. ⚠️ 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

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