- Changed `DATABASE_URL` in `data/README.md` to use a relative path for better compatibility. - Removed the reference to `BACKUP.md` in `DOCKER.md` as it is no longer relevant.
📁 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.dboudata/dev.db - Sauvegardes :
data/backups/ - Tout ce dossier est mappé vers
/app/datadans le conteneur
🔧 Configuration
Les chemins sont configurés via les variables d'environnement :
# 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
# 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
.dbdirectement - 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 :
# Taille du dossier data
du -sh data/
# Taille des sauvegardes
du -sh data/backups/
# Nombre de sauvegardes
ls -1 data/backups/ | wc -l