137 lines
7.1 KiB
Markdown
137 lines
7.1 KiB
Markdown
---
|
||
title: Civitai Data Manager
|
||
created: 2026-06-07
|
||
updated: 2026-06-07
|
||
type: app
|
||
tags: [catalogue, backups, stable-diffusion, civitai, python, mit, niche]
|
||
confidence: high
|
||
contested: false
|
||
sources: [https://selfh.st/apps/?tag=Backups, https://github.com/jmsltnv/civitai-data-manager]
|
||
---
|
||
|
||
# 💾 Civitai Data Manager
|
||
|
||
> **Le conservateur de votre bibliothèque Civitai** : sauvegardez et organisez les métadonnées (prompts, samplers, hashes, tags) de vos modèles Stable Diffusion, hors-ligne et versionnées.
|
||
|
||
## 📋 Informations Générales
|
||
|
||
| Champ | Valeur |
|
||
| :--- | :--- |
|
||
| **Site web** | (GitHub) |
|
||
| **GitHub** | [jmsltnv/civitai-data-manager](https://github.com/jmsltnv/civitai-data-manager) |
|
||
| **License** | MIT |
|
||
| **Langage** | Python |
|
||
| **Étoiles GitHub** | 59 ⭐ |
|
||
| **Dernière MAJ** | 2026-06-07 |
|
||
| **Catégorie** | [[cat-backups|Backups]] |
|
||
|
||
## 📝 Description
|
||
|
||
> ⚠️ **App ultra-niche** : ciblant uniquement les utilisateurs de **Stable Diffusion** (Automatic1111, ComfyUI, Forge, SD.Next…) qui téléchargent des modèles et ressources sur **Civitai.com**.
|
||
|
||
**Civitai Data Manager** ne sauvegarde **pas les modèles eux-mêmes** (un checkpoint LoRA fait couramment 2 à 7 Go, et certains packs pèsent des dizaines de Go). Il se concentre sur ce qui est **petit mais critique** : **les métadonnées Civitai** associées à chaque modèle, que vous perdez si Civitai modifie ou supprime une fiche :
|
||
|
||
- ✅ **Snapshot des métadonnées Civitai** : titre, description, tags, type (checkpoint / LoRA / VAE / embedding), version, base model
|
||
- ✅ **Liste des images d'exemple** associées à chaque modèle
|
||
- ✅ **Prompts et paramètres** des images d'exemple (sampler, steps, CFG, seed, etc.)
|
||
- ✅ **Liens de téléchargement** des versions archivés (au cas où le modèle n'est plus listé)
|
||
- ✅ **Hash SHA256** de chaque version (utile pour identifier un modèle sans Civitai)
|
||
- ✅ **Base SQLite locale** interrogeable
|
||
- ✅ **Export JSON / CSV** pour archivage ou migration
|
||
- ✅ **API Civitai** utilisée (pas de scraping)
|
||
- ✅ **Programmable** : CLI + cron pour sauvegarder régulièrement l'ensemble de votre bibliothèque
|
||
- ✅ **Recherche locale** : trouvez un modèle par tag ou par base model même hors-ligne
|
||
|
||
**Public cible** : power users Stable Diffusion qui ont accumulé **des centaines de modèles / LoRA / embeddings** sur Civitai et qui veulent garder une trace de ce qu'ils ont, avec **quelle version, et pourquoi**. Hors de cette niche, l'app n'a aucun intérêt — voir [[strategie-backup-321]] pour le backup « classique ».
|
||
|
||
## 🚀 Installation
|
||
|
||
### Docker Compose
|
||
|
||
```yaml
|
||
# docker-compose.yml
|
||
version: '3.8'
|
||
services:
|
||
civitai-data-manager:
|
||
image: ghcr.io/jmsltnv/civitai-data-manager:latest
|
||
container_name: civitai-data-manager
|
||
restart: unless-stopped
|
||
ports:
|
||
- "8125:8000" # UI web (optionnel, pour recherche locale)
|
||
volumes:
|
||
- cdm-data:/data
|
||
- cdm-config:/config
|
||
environment:
|
||
- TZ=Europe/Paris
|
||
- CIVITAI_API_KEY=*** labels:
|
||
- "traefik.enable=true"
|
||
- "traefik.http.routers.cdm.rule=Host(`cdm.example.com`)"
|
||
- "traefik.http.routers.cdm.entrypoints=websecure"
|
||
- "traefik.http.routers.cdm.tls.certresolver=letsencrypt"
|
||
|
||
volumes:
|
||
cdm-data:
|
||
cdm-config:
|
||
```
|
||
|
||
> ℹ️ Si vous ne voulez que la sauvegarde automatique, vous pouvez ignorer l'UI web et laisser le cron interne faire son travail (exporter en JSON vers un share).
|
||
|
||
## ⚙️ Configuration Initiale
|
||
|
||
1. **Obtenir une clé API Civitai** : compte Civitai > Account Settings > API Key.
|
||
2. **Définir le scope** : vous pointez Civitai Data Manager vers un dossier où se trouvent vos modèles (ex. `/mnt/user/models/stable-diffusion/`). Le script lit les fichiers, extrait le hash SHA256, et requête Civitai pour trouver la fiche correspondante.
|
||
3. **Lancer un premier scan** : `docker exec -it civitai-data-manager python -m cdm scan --path /data/models`.
|
||
4. **Vérifier l'UI** : `https://cdm.example.com` doit lister tous vos modèles connus avec leurs métadonnées.
|
||
5. **Programmer un scan quotidien** : `0 2 * * *` dans le conteneur, pour capturer les nouveaux téléchargements.
|
||
6. **Exporter régulièrement** un JSON/CSV vers un share sauvegardé par [[app-restic]] (pour appliquer la règle 3-2-1).
|
||
|
||
## 🔄 Alternatives
|
||
|
||
### Open Source
|
||
- **Civitai Archive** (script) — projets ad-hoc de la communauté, moins maintenus.
|
||
- **SD WebUI Model Manager** — extension A1111, pas un backup à proprement parler.
|
||
- **TagStudio** (gestion de bibliothèque de fichiers) — pas spécifique Civitai.
|
||
- **Hugging Face Hub mirroring** — pour les modèles sur HF, complémentaire.
|
||
- [[app-restic]] — pour backuper **les modèles eux-mêmes** (les gros fichiers), complémentaire.
|
||
|
||
### Comparaison Civitai Data Manager vs autres
|
||
|
||
| Critère | Civitai Data Manager | A1111 Model Manager | TagStudio | HF Hub mirror |
|
||
| :--- | :--- | :--- | :--- | :--- |
|
||
| Métadonnées Civitai | ✅ | ❌ | ❌ | ❌ |
|
||
| Fichiers modèles | ❌ | Gestion locale | Tags fichiers | ✅ (HF) |
|
||
| Multi-SD-UI | ✅ | ❌ (A1111) | ✅ | N/A |
|
||
| Hors-ligne | ✅ | ✅ | ✅ | ❌ |
|
||
| Prompts d'exemple | ✅ | ❌ | ❌ | ❌ |
|
||
| Base de données | SQLite | A1111 native | Fichiers | Git LFS |
|
||
| UI web | ✅ | Dans A1111 | ✅ | HF web |
|
||
|
||
**Verdict** : **uniquement si vous êtes dans la niche** (utilisateur Civitai / Stable Diffusion). Pour tous les autres, partez sur [[app-restic]] / [[app-borg]] / [[app-kopia]] pour un backup traditionnel. Voir [[strategie-backup-321]].
|
||
|
||
### Propriétaires
|
||
- **Civitai Pro / Membership** — paye pour la plateforme, pas un backup.
|
||
- **PixAI / SeaArt** — autres plateformes IA, services propriétaires sans backup.
|
||
- **RunDiffusion / ThinkDiffusion** — services cloud d'exécution SD, hors scope.
|
||
|
||
## 🔐 Sécurité
|
||
|
||
- **Règle 3-2-1** : la base SQLite Civitai Data Manager est **locale au conteneur** — exportez-la régulièrement (cron + `cp` ou `sqlite3 .backup`) vers un share sauvegardé par [[app-restic]] ou [[app-borg]] pour avoir une 2e et 3e copie (cf. [[strategie-backup-321]]).
|
||
- **Chiffrement** : les métadonnées Civitai ne sont **pas sensibles** (noms de modèles, prompts, tags), mais si vous avez stocké votre clé API Civitai dans le conteneur, chiffrez le volume `cdm-config` au niveau OS. Voir [[securisation-home-lab]].
|
||
- **Clé API** : passez la clé Civitai via variable d'environnement, **jamais** dans le `docker-compose.yml` versionné sur Git. Révoquez et regénérez si elle fuit.
|
||
- **Test de restauration** : ce n'est pas un backup critique, mais exportez un JSON tous les mois et vérifiez qu'il s'ouvre correctement (par ex. `jq . fichier.json | head`).
|
||
|
||
## 📚 Ressources
|
||
|
||
- [GitHub jmsltnv/civitai-data-manager](https://github.com/jmsltnv/civitai-data-manager)
|
||
- [API Civitai (utilisée par l'app)](https://civitai.com/api/v1)
|
||
- [Communauté Stable Diffusion](https://www.reddit.com/r/StableDiffusion/)
|
||
|
||
## Pages Liées
|
||
- [[cat-backups]] — Catégorie Backups
|
||
- [[strategie-backup-321]] — Règle 3-2-1
|
||
- [[app-restic]] — Pour backuper les modèles eux-mêmes
|
||
- [[app-borg]] — Alternative à Restic
|
||
- [[app-kopia]] — Backup avec UI
|
||
- [[app-portainer]] — Gestion conteneurs
|
||
- [[securisation-home-lab]] — Bonnes pratiques
|