Files
towercontrol/data/README.md
2025-10-09 13:40:03 +02:00

107 lines
2.6 KiB
Markdown

# 📁 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
npm run backup:create
# Lister les sauvegardes
npm run backup:list
# Voir la configuration
npm run backup:config
# Restaurer une sauvegarde (dev uniquement)
npm 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
```