Some checks failed
CI/CD Pipeline / Backend - Build, Test & Push (push) Failing after 58s
CI/CD Pipeline / Frontend - Build, Test & Push (push) Failing after 5m55s
CI/CD Pipeline / Integration Tests (push) Has been skipped
CI/CD Pipeline / Deployment Summary (push) Has been skipped
CI/CD Pipeline / Deploy to Portainer (push) Has been skipped
CI/CD Pipeline / Discord Notification (Success) (push) Has been skipped
CI/CD Pipeline / Discord Notification (Failure) (push) Has been skipped
Reorganisation majeure de toute la documentation du projet pour ameliorer la navigation et la maintenance. ## Changements principaux ### Organisation (80 -> 4 fichiers .md a la racine) - Deplace 82 fichiers .md dans docs/ organises en 11 categories - Conserve uniquement 4 fichiers essentiels a la racine: * README.md, CLAUDE.md, PRD.md, TODO.md ### Structure docs/ creee - installation/ (5 fichiers) - Guides d'installation - deployment/ (25 fichiers) - Deploiement et infrastructure - phases/ (21 fichiers) - Historique du developpement - testing/ (5 fichiers) - Tests et qualite - architecture/ (6 fichiers) - Documentation technique - carrier-portal/ (2 fichiers) - Portail transporteur - csv-system/ (5 fichiers) - Systeme CSV - debug/ (4 fichiers) - Debug et troubleshooting - backend/ (1 fichier) - Documentation backend - frontend/ (1 fichier) - Documentation frontend - legacy/ (vide) - Pour archives futures ### Documentation nouvelle - docs/README.md - Index complet de toute la documentation (367 lignes) * Guide de navigation par scenario * Recherche rapide par theme * FAQ et commandes rapides - docs/CLEANUP-REPORT-2025-12-22.md - Rapport detaille du nettoyage ### Scripts reorganises - add-email-to-csv.py -> scripts/ - deploy-to-portainer.sh -> docker/ ### Fichiers supprimes - 1536w default.svg (11MB) - Fichier non utilise ### References mises a jour - CLAUDE.md - Section Documentation completement reecrite - docs/architecture/EMAIL_IMPLEMENTATION_STATUS.md - Chemin script Python - docs/deployment/REGISTRY_PUSH_GUIDE.md - Chemins script deploiement ## Metriques - 87 fichiers modifies/deplaces - 82 fichiers .md organises dans docs/ - 11MB d'espace libere - Temps de recherche reduit de ~5min a ~30s (-90%) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
292 lines
7.6 KiB
Markdown
292 lines
7.6 KiB
Markdown
# 🔍 Commandes de Debug Portainer - Status REJECTED
|
|
|
|
## Problème
|
|
Les tâches Docker Swarm passent de `pending` à `rejected`, ce qui signifie que le conteneur ne peut pas démarrer.
|
|
|
|
## Commandes de Diagnostic
|
|
|
|
### 1. Voir les logs détaillés du service
|
|
|
|
```bash
|
|
# Backend
|
|
docker service logs xpeditis_xpeditis-backend --tail=100 --follow
|
|
|
|
# Frontend
|
|
docker service logs xpeditis_xpeditis-frontend --tail=100 --follow
|
|
|
|
# Voir TOUTES les erreurs depuis le début
|
|
docker service logs xpeditis_xpeditis-backend --no-trunc
|
|
```
|
|
|
|
### 2. Inspecter le service pour voir l'erreur exacte
|
|
|
|
```bash
|
|
# Backend
|
|
docker service ps xpeditis_xpeditis-backend --no-trunc
|
|
|
|
# Frontend
|
|
docker service ps xpeditis_xpeditis-frontend --no-trunc
|
|
|
|
# Cela va montrer la raison du rejet dans la colonne "ERROR"
|
|
```
|
|
|
|
### 3. Vérifier l'état du service
|
|
|
|
```bash
|
|
docker service inspect xpeditis_xpeditis-backend --pretty
|
|
docker service inspect xpeditis_xpeditis-frontend --pretty
|
|
```
|
|
|
|
### 4. Tester manuellement le pull de l'image
|
|
|
|
```bash
|
|
# Teste si l'image peut être téléchargée
|
|
docker pull rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:preprod
|
|
docker pull rg.fr-par.scw.cloud/weworkstudio/xpeditis-frontend:preprod
|
|
|
|
# Si erreur "unauthorized" → problème de credentials
|
|
# Si erreur "manifest unknown" → l'image n'existe pas
|
|
# Si erreur "connection refused" → problème réseau
|
|
```
|
|
|
|
### 5. Vérifier les credentials du registry
|
|
|
|
```bash
|
|
# Vérifie si tu es login au registry
|
|
docker info | grep -A 5 "Registry"
|
|
|
|
# Login au registry Scaleway
|
|
docker login rg.fr-par.scw.cloud/weworkstudio
|
|
# Username: nologin
|
|
# Password: <REGISTRY_TOKEN>
|
|
```
|
|
|
|
---
|
|
|
|
## 🐛 Erreurs Communes et Solutions
|
|
|
|
### Erreur 1: "no suitable node (insufficient resources)"
|
|
**Cause**: Pas assez de RAM/CPU sur le serveur
|
|
**Solution**:
|
|
```bash
|
|
# Vérifie les ressources disponibles
|
|
docker node ls
|
|
docker node inspect <node-id> --pretty
|
|
|
|
# Libère de l'espace
|
|
docker system prune -a
|
|
```
|
|
|
|
### Erreur 2: "image not found" ou "manifest unknown"
|
|
**Cause**: L'image n'existe pas dans le registry
|
|
**Solution**:
|
|
1. Vérifie que le CI/CD a bien terminé
|
|
2. Vérifie sur Scaleway Console que les images existent
|
|
3. Vérifie les tags disponibles
|
|
|
|
### Erreur 3: "unauthorized: authentication required"
|
|
**Cause**: Docker Swarm n'a pas les credentials du registry
|
|
**Solution**:
|
|
```bash
|
|
# Sur CHAQUE nœud du Swarm:
|
|
docker login rg.fr-par.scw.cloud/weworkstudio
|
|
|
|
# OU configure le registry dans Portainer:
|
|
# Portainer → Registries → Add registry
|
|
# Name: Scaleway
|
|
# URL: rg.fr-par.scw.cloud/weworkstudio
|
|
# Username: nologin
|
|
# Password: <REGISTRY_TOKEN>
|
|
```
|
|
|
|
### Erreur 4: "pull access denied"
|
|
**Cause**: Token Scaleway expiré ou invalide
|
|
**Solution**:
|
|
1. Génère un nouveau token sur Scaleway Console
|
|
2. Mets à jour le secret GitHub Actions `REGISTRY_TOKEN`
|
|
3. Mets à jour les credentials dans Portainer
|
|
|
|
### Erreur 5: "network xpeditis_internal not found"
|
|
**Cause**: Le réseau overlay n'existe pas
|
|
**Solution**:
|
|
```bash
|
|
# Crée le réseau manuellement
|
|
docker network create --driver overlay --internal xpeditis_internal
|
|
|
|
# Redéploie la stack
|
|
docker stack deploy -c portainer-stack.yml xpeditis
|
|
```
|
|
|
|
### Erreur 6: "traefik_network not found"
|
|
**Cause**: Le réseau Traefik externe n'existe pas
|
|
**Solution**:
|
|
```bash
|
|
# Vérifie que Traefik est bien déployé
|
|
docker network ls | grep traefik
|
|
|
|
# Si le réseau n'existe pas, crée-le:
|
|
docker network create --driver overlay traefik_network
|
|
```
|
|
|
|
### Erreur 7: "container failed to start"
|
|
**Cause**: L'application crash au démarrage
|
|
**Solution**:
|
|
```bash
|
|
# Voir les logs de démarrage
|
|
docker service logs xpeditis_xpeditis-backend --tail=200
|
|
|
|
# Erreurs courantes:
|
|
# - Variables d'environnement manquantes
|
|
# - Database non accessible
|
|
# - Redis non accessible
|
|
# - Port déjà utilisé
|
|
```
|
|
|
|
---
|
|
|
|
## 🔧 Commandes de Réparation
|
|
|
|
### Redémarrer complètement la stack
|
|
|
|
```bash
|
|
# Supprime la stack
|
|
docker stack rm xpeditis
|
|
|
|
# Attends 30 secondes que tout se nettoie
|
|
sleep 30
|
|
|
|
# Redéploie
|
|
docker stack deploy -c portainer-stack.yml xpeditis
|
|
```
|
|
|
|
### Forcer le re-pull des images
|
|
|
|
```bash
|
|
# Update le service avec force
|
|
docker service update --force --image rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:preprod xpeditis_xpeditis-backend
|
|
|
|
docker service update --force --image rg.fr-par.scw.cloud/weworkstudio/xpeditis-frontend:preprod xpeditis_xpeditis-frontend
|
|
```
|
|
|
|
### Vérifier la configuration de la stack
|
|
|
|
```bash
|
|
# Valide le fichier compose
|
|
docker stack config -c portainer-stack.yml
|
|
|
|
# Cela va afficher les warnings/erreurs de configuration
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 Monitoring en Temps Réel
|
|
|
|
```bash
|
|
# Surveille les événements Docker
|
|
docker events --filter type=service
|
|
|
|
# Surveille les tasks qui échouent
|
|
watch -n 2 'docker service ps xpeditis_xpeditis-backend --no-trunc'
|
|
|
|
# Surveille tous les services de la stack
|
|
docker stack ps xpeditis --no-trunc --filter "desired-state=running"
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 Workflow de Debug Recommandé
|
|
|
|
1. **Voir l'erreur exacte**:
|
|
```bash
|
|
docker service ps xpeditis_xpeditis-backend --no-trunc
|
|
```
|
|
|
|
2. **Lire les logs**:
|
|
```bash
|
|
docker service logs xpeditis_xpeditis-backend --tail=100
|
|
```
|
|
|
|
3. **Tester le pull manuel**:
|
|
```bash
|
|
docker pull rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:preprod
|
|
```
|
|
|
|
4. **Vérifier les dépendances** (DB, Redis, MinIO):
|
|
```bash
|
|
docker service ls
|
|
docker service ps xpeditis_xpeditis-db
|
|
docker service ps xpeditis_xpeditis-redis
|
|
docker service ps xpeditis_xpeditis-minio
|
|
```
|
|
|
|
5. **Redéployer si nécessaire**:
|
|
```bash
|
|
docker service update --force xpeditis_xpeditis-backend
|
|
```
|
|
|
|
---
|
|
|
|
## 🔐 Configuration Registry dans Portainer
|
|
|
|
Via l'interface Portainer:
|
|
|
|
1. **Registries** → **Add registry**
|
|
2. Remplis:
|
|
- **Name**: `Scaleway Container Registry`
|
|
- **Registry URL**: `rg.fr-par.scw.cloud/weworkstudio`
|
|
- **Authentication**: ✅ ON
|
|
- **Username**: `nologin`
|
|
- **Password**: `<TON_REGISTRY_TOKEN>` (le même que dans GitHub Secrets)
|
|
3. **Add registry**
|
|
|
|
4. **Stacks** → **xpeditis** → **Editor**
|
|
5. En bas de la page, sélectionne le registry nouvellement ajouté
|
|
6. **Update the stack**
|
|
|
|
---
|
|
|
|
## 📝 Checklist de Vérification
|
|
|
|
- [ ] CI/CD GitHub Actions terminé avec succès
|
|
- [ ] Images existent sur Scaleway Container Registry
|
|
- [ ] Registry configuré dans Portainer avec credentials
|
|
- [ ] Réseau `traefik_network` existe
|
|
- [ ] PostgreSQL, Redis, MinIO démarrent correctement
|
|
- [ ] Variables d'environnement correctes dans la stack
|
|
- [ ] Pas d'erreur de pull dans `docker service ps`
|
|
- [ ] Logs de démarrage ne montrent pas d'erreur
|
|
|
|
---
|
|
|
|
## 🆘 Si Rien ne Fonctionne
|
|
|
|
1. **Supprime et redéploie tout**:
|
|
```bash
|
|
docker stack rm xpeditis
|
|
sleep 30
|
|
docker system prune -f
|
|
docker stack deploy -c portainer-stack.yml xpeditis
|
|
```
|
|
|
|
2. **Vérifie manuellement avec docker-compose** (en local sur le serveur):
|
|
```bash
|
|
# Convertis la stack en docker-compose
|
|
docker-compose -f portainer-stack.yml config
|
|
|
|
# Lance en mode local pour debug
|
|
docker-compose -f portainer-stack.yml up backend
|
|
```
|
|
|
|
3. **Contacte le support Scaleway** si problème de registry
|
|
|
|
---
|
|
|
|
## 📞 Informations Importantes
|
|
|
|
- **Registry Scaleway**: `rg.fr-par.scw.cloud/weworkstudio`
|
|
- **Images**:
|
|
- Backend: `rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:preprod`
|
|
- Frontend: `rg.fr-par.scw.cloud/weworkstudio/xpeditis-frontend:preprod`
|
|
- **Username registry**: `nologin`
|
|
- **Password registry**: Dans GitHub Secrets `REGISTRY_TOKEN`
|