3.0 KiB
3.0 KiB
🐳 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
# 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
# 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
# Reconstruire toutes les images
docker-compose build --no-cache
# Reconstruire une image spécifique
docker-compose build backend
Migration des données
# Accéder au container backend
docker exec -it zebra_backend bash
# Lancer la migration
uv run python migrate_to_unified_hosts.py
Tests
# Tester l'API depuis le container
docker exec -it zebra_backend uv run python test_api.py
Monitoring
# 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
# 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
# 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: hostest activé pour le backend - Tester depuis l'host :
wakeonlan 00:11:22:33:44:55