Files
dockezr/DEPLOYMENT.md
Rassaby Ludovic b8d075a2bd feat: Ajout monitoring Prometheus/Grafana et configuration déploiement serveur Linux
- Ajout Prometheus et Grafana au docker-compose.yml
- Métriques automatiques pour le backend FastAPI
- Configuration de production avec docker-compose.prod.yml
- Guide de déploiement manuel pour serveur Linux
- Variables d'environnement sécurisées
- Documentation complète de déploiement
2025-10-16 11:29:16 +04:00

4.5 KiB

🚀 Guide de Déploiement - Dockezr

Vue d'ensemble

Ce guide vous explique comment déployer Dockezr en production sur un serveur Linux avec Docker Compose.

📋 Prérequis

  • Serveur Linux (Ubuntu/Debian recommandé)
  • Docker et Docker Compose installés
  • Accès SSH au serveur de production
  • Ports 3000, 8001, 9090, 3001 ouverts

🔧 Configuration Initiale

1. Préparation du serveur

# Mise à jour du système
sudo apt update && sudo apt upgrade -y

# Installation de Docker
sudo apt install docker.io docker-compose git curl -y

# Démarrage et activation de Docker
sudo systemctl start docker
sudo systemctl enable docker

# Ajouter l'utilisateur au groupe docker (optionnel)
sudo usermod -aG docker $USER

2. Cloner le projet

# Cloner le repository
git clone https://github.com/votre-username/dockezr.git
cd dockezr

# Copier la configuration de production
cp env.prod.example .env.prod

# Modifier les variables d'environnement
nano .env.prod

🚀 Déploiement Manuel

Déploiement complet

# Démarrer tous les services
docker-compose -f docker-compose.prod.yml up -d

# Vérifier l'état des services
docker-compose -f docker-compose.prod.yml ps

# Voir les logs en temps réel
docker-compose -f docker-compose.prod.yml logs -f

Déploiement par étapes

# 1. Démarrer la base de données
docker-compose -f docker-compose.prod.yml up -d db

# 2. Attendre que la DB soit prête
sleep 10

# 3. Démarrer le backend
docker-compose -f docker-compose.prod.yml up -d backend

# 4. Démarrer le frontend
docker-compose -f docker-compose.prod.yml up -d frontend

# 5. Démarrer les services de monitoring
docker-compose -f docker-compose.prod.yml up -d prometheus grafana

📊 Monitoring du Déploiement

Vérification des services

# État des conteneurs
docker-compose -f docker-compose.prod.yml ps

# Logs des services
docker-compose -f docker-compose.prod.yml logs -f

# Test de santé
curl http://localhost:8001/health
curl http://localhost:3000

Accès aux services

Service URL Description
Frontend http://votre-serveur:3000 Interface utilisateur
Backend http://votre-serveur:8001 API REST
Prometheus http://votre-serveur:9090 Métriques
Grafana http://votre-serveur:3001 Tableaux de bord

🔒 Sécurité

Variables d'environnement critiques

# Mots de passe sécurisés
POSTGRES_PASSWORD=password-très-sécurisé
GRAFANA_PASSWORD=password-grafana-sécurisé

# URLs publiques
NEXT_PUBLIC_API_URL=http://votre-domaine.com:8001

Recommandations

  1. Changez tous les mots de passe par défaut
  2. Utilisez HTTPS avec un reverse proxy (Nginx/Traefik)
  3. Limitez l'accès aux ports de monitoring
  4. Configurez un firewall approprié
  5. Sauvegardez régulièrement la base de données

🛠️ Dépannage

Problèmes courants

Images non trouvées

# Vérifier que les images existent sur DockerHub
docker pull votre-username/dockezr-backend:latest
docker pull votre-username/dockezr-frontend:latest

Services non accessibles

# Vérifier les logs
docker-compose -f docker-compose.prod.yml logs backend
docker-compose -f docker-compose.prod.yml logs frontend

# Redémarrer les services
docker-compose -f docker-compose.prod.yml restart

Problèmes de base de données

# Vérifier la connexion
docker-compose -f docker-compose.prod.yml exec db psql -U user -d dockezr

# Redémarrer la base de données
docker-compose -f docker-compose.prod.yml restart db

📈 Monitoring et Métriques

Prometheus

  • URL : http://votre-serveur:9090
  • Métriques : Automatiquement collectées depuis le backend
  • Rétention : 200 heures par défaut

Grafana

  • URL : http://votre-serveur:3001
  • Identifiants : admin / (mot de passe configuré)
  • Dashboard : "Dockezr - Vue d'ensemble" pré-configuré

🔄 Mise à jour

Mise à jour automatique

# Créer une nouvelle version
git tag v1.2.0
git push origin v1.2.0

Mise à jour manuelle

# Déployer la nouvelle version
./scripts/deploy.sh v1.2.0

📞 Support

En cas de problème :

  1. Vérifiez les logs : docker-compose -f docker-compose.prod.yml logs
  2. Consultez la documentation : README.md
  3. Vérifiez les issues GitHub
  4. Contactez l'équipe de développement

Dockezr - Déploiement automatisé et monitoring complet ! 🎯