# 📁 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 │ └── ... └── uploads/ # Images et fichiers uploadĂ©s └── notes/ # Images des notes markdown └── ... ``` ## 🎯 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) ### Images uploadĂ©es - **Dossier** : `data/uploads/notes/` - **Format** : Images collĂ©es dans les notes markdown - **AccĂšs** : Via `/api/notes/images/[filename]` - **Persistance** : MontĂ© en volume Docker pour persistance ## 🚀 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 ```