xpeditis2.0/docs/deployment/FIX_DOCKER_PROXY.md
David c19af3b119
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
docs: reorganiser completement la documentation dans docs/
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>
2025-12-22 15:45:51 +01:00

154 lines
4.3 KiB
Markdown

# 🔧 Fix Docker Proxy Timeout
## 🚨 Problème Identifié
Docker est configuré avec un proxy qui timeout lors du push vers Scaleway :
```
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
```
Erreur lors du push :
```
proxyconnect tcp: dial tcp 192.168.65.1:3128: i/o timeout
```
## ✅ Solution 1 : Désactiver le Proxy (Recommandé)
### Sur Docker Desktop for Mac
1. **Ouvrir Docker Desktop**
2. **Settings (⚙️)****Resources****Proxies**
3. **Décocher "Manual proxy configuration"** ou mettre en "No proxy"
4. **Apply & Restart**
### Vérification
```bash
# Après redémarrage Docker
docker info | grep -i proxy
# Devrait afficher "No Proxy" ou rien
```
## ✅ Solution 2 : Ajouter Scaleway au No Proxy
Si vous avez besoin du proxy pour d'autres registries :
### Sur Docker Desktop for Mac
1. **Settings (⚙️)****Resources****Proxies**
2. Dans **"Bypass for these hosts & domains"**, ajouter :
```
*.scw.cloud
rg.fr-par.scw.cloud
scw-reg-prd-fr-par-distribution.s3.fr-par.scw.cloud
```
3. **Apply & Restart**
## ✅ Solution 3 : Configuration Manuelle (Avancé)
### Éditer le fichier de config Docker daemon
**Fichier** : `~/.docker/daemon.json` (créer si inexistant)
```json
{
"proxies": {
"http-proxy": "",
"https-proxy": "",
"no-proxy": "*.scw.cloud,*.docker.internal,localhost,127.0.0.1"
}
}
```
**Redémarrer Docker** :
```bash
# Via Docker Desktop menu → Restart
# Ou kill/restart le daemon
```
## 🧪 Test de la Solution
```bash
# 1. Vérifier que le proxy est désactivé ou contourne Scaleway
docker info | grep -i proxy
# 2. Essayer un push de test
docker tag xpeditis20-backend:latest rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:test
docker push rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:test
# Devrait afficher :
# ✅ Pushed
# ✅ test: digest: sha256:... size: ...
```
## 🔍 Comprendre le Problème
Le proxy `http.docker.internal:3128` était configuré mais :
- ❌ Ne répond pas (timeout)
- ❌ Bloque l'accès à Scaleway S3 (`scw-reg-prd-fr-par-distribution.s3.fr-par.scw.cloud`)
- ❌ Cause des timeouts I/O lors du push des layers Docker
**Symptômes** :
```
15826890db13: Pushed ✅ Layer pousse OK
1ea93cfbb3c8: Pushed ✅ Layer pousse OK
...
Head "https://scw-reg-prd-fr-par-distribution.s3.fr-par.scw.cloud/...":
proxyconnect tcp: dial tcp 192.168.65.1:3128: i/o timeout ❌ Timeout au moment du manifest
```
Les layers individuels passent, mais le **manifest final** (HEAD request) timeout via le proxy.
## 📊 Comparaison
| Configuration | Résultat |
|---------------|----------|
| Proxy activé (`http.docker.internal:3128`) | ❌ Timeout vers Scaleway S3 |
| Proxy désactivé | ✅ Push direct vers Scaleway |
| No Proxy avec `*.scw.cloud` | ✅ Bypass proxy pour Scaleway |
## ⚠️ Important pour CI/CD
**GitHub Actions n'a PAS ce problème** car les runners GitHub n'utilisent pas votre proxy local.
Donc :
- ❌ Push local peut échouer (proxy)
- ✅ CI/CD push fonctionnera (pas de proxy)
**Recommandation** : Désactiver le proxy localement pour le développement, ou laisser uniquement la CI/CD push les images.
## 🎯 Solution Rapide (Temporaire)
Si vous ne voulez pas toucher aux settings Docker :
```bash
# Désactiver proxy pour une commande
export HTTP_PROXY=""
export HTTPS_PROXY=""
export http_proxy=""
export https_proxy=""
docker push rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:preprod
```
**Limitation** : Ne fonctionne pas car le proxy est configuré au niveau du Docker daemon, pas au niveau de la session shell.
## ✅ Checklist de Fix
- [ ] Ouvrir Docker Desktop Settings
- [ ] Aller dans Resources → Proxies
- [ ] Désactiver "Manual proxy configuration" OU ajouter `*.scw.cloud` au bypass
- [ ] Apply & Restart Docker
- [ ] Vérifier : `docker info | grep -i proxy` (devrait être vide)
- [ ] Test push : `docker push rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:test`
- [ ] ✅ Si push réussit, problème résolu !
---
**Date** : 2025-11-19
**Impact** : 🔴 Critique - Bloque push local vers Scaleway
**Fix** : ⚡ Rapide - 2 min via Docker Desktop settings