refact: use only server

This commit is contained in:
2025-08-27 13:28:50 +02:00
parent cf8a37f183
commit 2934224787
39 changed files with 6843 additions and 1223 deletions

145
DOCKER.md Normal file
View File

@@ -0,0 +1,145 @@
# 🐳 Docker Configuration - Zebra Power
## Images mises à jour
### Backend
- **Python 3.13** (version la plus récente)
- **uv** pour installation rapide des dépendances
- **4 workers** en production
- Health checks intégrés
### Frontend
- **Node.js 20** (LTS)
- Build optimisé pour production
- Health checks intégrés
### Nginx
- **Version 1.25**
- Sécurité renforcée
- Health checks intégrés
## Configurations disponibles
### 🔧 Développement
```bash
# Démarrer en mode développement (avec hot reload)
docker-compose -f docker-compose.dev.yml up -d
# Voir les logs
docker-compose -f docker-compose.dev.yml logs -f
# Arrêter
docker-compose -f docker-compose.dev.yml down
```
**Fonctionnalités développement :**
- Auto-reload backend et frontend
- Volumes montés pour édition en temps réel
- Ports exposés directement (backend: 8000, frontend: 3000)
### 🚀 Production
```bash
# Démarrer en production (via nginx)
docker-compose up -d
# Voir les logs
docker-compose logs -f
# Arrêter
docker-compose down
```
**Fonctionnalités production :**
- Applications buildées et optimisées
- Reverse proxy nginx sur port 80
- Health checks et redémarrages automatiques
- 4 workers backend pour performance
## Commandes utiles
### Build des images
```bash
# Reconstruire toutes les images
docker-compose build --no-cache
# Reconstruire une image spécifique
docker-compose build backend
```
### Migration des données
```bash
# Accéder au container backend
docker exec -it zebra_backend bash
# Lancer la migration
uv run python migrate_to_unified_hosts.py
```
### Tests
```bash
# Tester l'API depuis le container
docker exec -it zebra_backend uv run python test_api.py
```
### Monitoring
```bash
# Status des services
docker-compose ps
# Health check status
docker inspect --format='{{.State.Health.Status}}' zebra_backend
# Métriques ressources
docker stats
```
## Structure des volumes
```
data/
├── zebra.db # Base de données SQLite
└── backup_*.json # Sauvegardes migration (si appliquée)
```
## Réseau
### Mode Host (Backend)
Le backend utilise `network_mode: host` pour envoyer les paquets Wake-on-LAN. Ceci est **requis** pour le fonctionnement WOL.
### Ports exposés
- **Production** : Port 80 (nginx)
- **Développement** :
- Backend : 8000
- Frontend : 3000
- Nginx : 80
## Sécurité
- Tokens nginx cachés (`server_tokens off`)
- Health checks pour haute disponibilité
- Variables d'environnement pour configuration
- Volumes restreints aux données nécessaires
## Dépannage
### Backend ne démarre pas
```bash
# Vérifier les logs
docker-compose logs backend
# Vérifier les dépendances
docker exec -it zebra_backend uv pip list
```
### Frontend ne compile pas
```bash
# Vérifier les logs de build
docker-compose logs frontend
# Rebuild sans cache
docker-compose build --no-cache frontend
```
### WOL ne fonctionne pas
- Vérifier que `network_mode: host` est activé pour le backend
- Tester depuis l'host : `wakeonlan 00:11:22:33:44:55`