# 📁 Dossier Data - TowerControl Ce dossier contient toutes les données persistantes de l'application TowerControl. ## 📋 Structure ``` data/ ├── README.md # Ce fichier ├── prod.db # Base de données production (Docker) ├── dev.db # Base de données développement (Docker) └── backups/ # Sauvegardes automatiques et manuelles ├── towercontrol_2025-01-15T10-30-00-000Z.db.gz ├── towercontrol_2025-01-15T11-30-00-000Z.db.gz └── ... ``` ## 🎯 Utilisation ### En développement local - La base de données principale est dans `prisma/dev.db` - Ce dossier `data/` est utilisé uniquement par Docker - Les sauvegardes locales sont dans `backups/` (racine du projet) ### En production Docker - Base de données : `data/prod.db` ou `data/dev.db` - Sauvegardes : `data/backups/` - Tout ce dossier est mappé vers `/app/data` dans le conteneur ## 🔧 Configuration Les chemins sont configurés via les variables d'environnement : ```bash # Base de données DATABASE_URL="file:../data/prod.db" # Chemin de la base pour les backups BACKUP_DATABASE_PATH="./data/prod.db" # Dossier de stockage des sauvegardes BACKUP_STORAGE_PATH="./data/backups" ``` ## 🗂️ Fichiers ### Bases de données SQLite - **prod.db** : Base de données de production - **dev.db** : Base de données de développement Docker - Format : SQLite 3 - Contient : Tasks, Tags, User Preferences, Sync Logs, etc. ### Sauvegardes - **Format** : `towercontrol_YYYY-MM-DDTHH-mm-ss-sssZ.db.gz` - **Compression** : gzip - **Rétention** : Configurable (défaut: 5 sauvegardes) - **Fréquence** : Configurable (défaut: horaire) ## 🚀 Commandes utiles ```bash # Créer une sauvegarde manuelle pnpm run backup:create # Lister les sauvegardes pnpm run backup:list # Voir la configuration pnpm run backup:config # Restaurer une sauvegarde (dev uniquement) pnpm run backup:restore filename.db.gz ``` ## ⚠️ Important - **Ne pas modifier** les fichiers `.db` directement - **Ne pas supprimer** ce dossier en production - **Sauvegarder régulièrement** le contenu de ce dossier - **Vérifier l'espace disque** disponible pour les sauvegardes ## 🔒 Sécurité - Ce dossier est ignoré par Git (`.gitignore`) - Contient des données sensibles en production - Accès restreint recommandé sur le serveur - Chiffrement recommandé pour les sauvegardes externes ## 📊 Monitoring Pour surveiller l'espace disque : ```bash # Taille du dossier data du -sh data/ # Taille des sauvegardes du -sh data/backups/ # Nombre de sauvegardes ls -1 data/backups/ | wc -l ```