3.0 KiB
3.0 KiB
Maintenance — DictIA
Backup
# Backup complet (data, .env, volumes, stats ASR)
bash deployment/tools/backup.sh
# Backup dans un repertoire specifique
bash deployment/tools/backup.sh /mnt/backups
Les backups sont sauvegardes dans backups/ avec rotation automatique (garde les 5 derniers).
Contenu d'un backup:
data/— uploads et base de donnees SQLitedot-env— fichier de configurationasr-usage-stats.json— stats d'utilisation GPUwhisperx-cache.tar.gz— cache modeles (si volume Docker)manifest.json— metadonnees du backup
Schedule recommande
| Frequence | Action |
|---|---|
| Quotidien | bash deployment/tools/backup.sh |
| Hebdomadaire | Copier le backup sur un stockage externe |
| Mensuel | Verifier la restauration sur un environnement de test |
Pour automatiser avec cron:
# Backup quotidien a 3h du matin
0 3 * * * /opt/dictia/deployment/tools/backup.sh >> /var/log/dictia-backup.log 2>&1
Restore
# Lister les backups disponibles
ls -la backups/
# Restaurer un backup
bash deployment/tools/restore.sh backups/dictia-20260211-030000.tar.gz
Le script:
- Valide l'archive (presence du manifest)
- Demande confirmation
- Arrete les containers
- Restaure les fichiers
- Redemarre les containers
Mise a jour
# Mise a jour complete (git pull + rebuild + restart)
bash deployment/tools/update.sh
# Rebuild seulement (sans git pull)
bash deployment/tools/update.sh --no-pull
# Git pull seulement (sans rebuild)
bash deployment/tools/update.sh --no-build
Le script:
- Detecte le profil actif automatiquement
git pull origin dictia-brandingdocker build -t innova-ai/dictia:latest .- Pull WhisperX upstream (profils locaux)
docker compose down && up -d- Attend le health check
- Nettoie les images dangling
Monitoring
Health check
# Diagnostic complet (humain)
bash deployment/tools/health-check.sh
# JSON (pour alertes/scripts)
bash deployment/tools/health-check.sh --json
# Code de sortie seulement (0=ok, 1=probleme)
bash deployment/tools/health-check.sh --quiet
Logs
# DictIA
docker logs dictia -f --tail 100
# WhisperX (profils locaux)
docker logs whisperx-asr -f --tail 100
# ASR Proxy (profil cloud)
journalctl -u asr-proxy -f
Dashboard GPU (profil cloud)
Le dashboard de monitoring GPU est accessible a:
http://localhost:9090(local)https://votre-hostname.tailnet.ts.net:9443(Tailscale)
Affiche: statut GPU, cout mensuel, historique des requetes, zones de fallback.
Metriques cles
# Espace disque (les transcriptions grossissent)
df -h /opt/dictia/data/
# Utilisation memoire (WhisperX est gourmand)
docker stats --no-stream
# Stats GPU (profil cloud)
curl -s http://localhost:9090/stats | python3 -m json.tool
Maintenance Docker
# Nettoyer les images orphelines
docker image prune -f
# Nettoyer tout (attention: supprime les volumes non utilises)
# docker system prune -a --volumes
# Verifier l'espace Docker
docker system df