3.3 KiB
3.3 KiB
Notes de session EduBox - 17 juin 2026
✅ Ce qui fonctionne
- Agent EduBox v0.2.7 déployé avec binaires Linux/Mac/Windows.
- Connexion WordPress via URL publique fonctionne (wp-admin inclus).
- Proxy Next.js gère correctement les POST (duplex: half), les cookies, les headers X-Forwarded.
- Certificats TLS on-demand Caddy fonctionnent pour les sous-domaines d'instances.
- Reset d'instance corrige : le serveur envoie maintenant le
ComposeConfigcomplet. PUBLIC_DOMAINinclut le sous-domaine de l'instance (<id>.<domain>).
⚠️ Problème en cours : PrestaShop
L'installation automatique de PrestaShop 8.1 se termine avec succès, mais l'accès via l'URL publique ou localhost provoque des redirections incorrectes :
curl -I http://localhost:8080retourne302 Location: http://cmqiiso9g0001mfap4wv7a690.alfrednobel.edudeploy.com/curl -I https://cmqiiso9g0001mfap4wv7a690.alfrednobel.edudeploy.com/retourne302vers la même URL (boucle infinie).curl -I https://cmqiiso9g0001mfap4wv7a690.alfrednobel.edudeploy.com/index.phpretourne200 OK.
Hypothèses / pistes
- PrestaShop stocke le domaine shop en base (
ps_configuration:PS_SHOP_DOMAIN,PS_SHOP_DOMAIN_SSL).- Avec
PS_ENABLE_SSL=1, il est configuré avec l'URL publique en HTTPS. - Quand on accède via
localhost, il redirige vers l'URL publique.
- Avec
- L'accès à
/redirige vers l'URL canonique, ce qui crée une boucle via le proxy. - Il faudrait un équivalent PrestaShop du mu-plugin WordPress pour forcer le domaine à la volée selon
HTTP_HOST.
Template PrestaShop actuel (seed.ts)
DB_SERVER: db
DB_PORT: 3306
DB_NAME: prestashop
DB_USER: prestashop
DB_PASSWD: prestashop
DB_PREFIX: ps_
PS_DOMAIN: {PUBLIC_DOMAIN}
PS_SHOP_NAME: PrestaShop 8.1 vierge
PS_INSTALL_AUTO: "1"
PS_INSTALL_DB: "0"
PS_ENABLE_SSL: "1"
PS_LANGUAGE: fr
PS_COUNTRY: fr
ADMIN_MAIL: admin@edubox.local
ADMIN_PASSWD: EduboxPrestashop2024!
PS_FOLDER_ADMIN: admin
PS_FOLDER_INSTALL: install
PS_DEV_MODE: "1"
🚀 Prochaines étapes suggérées
- Option rapide : accepter que l'accès étudiant se fasse via l'URL publique. Vérifier que
https://<id>.alfrednobel.edudeploy.com/index.phpfonctionne et que la boutique est utilisable. - Option propre : développer un module/override PrestaShop qui :
- Détecte
HTTP_HOST/X-Forwarded-Host. - Met à jour
PS_SHOP_DOMAINetPS_SHOP_DOMAIN_SSLdynamiquement. - Permet l'accès via localhost ET via l'URL publique.
- Détecte
- Alternative : installer PrestaShop avec
PS_DOMAIN=localhost:8080et laisser le proxy réécrire les URLs (mais c'est complexe).
📁 Instance de test actuelle
- ID :
cmqiiso9g0001mfap4wv7a690 - Type : PrestaShop 8.1 vierge
- Port : 8080
- Nœud : OMEGA-GAMER (PC étudiant de Yacine)
📝 Commits récents
5c4c9f3fix(server/api): envoi du ComposeConfig lors d'un reset d'instance2d57857fix(server/api): PUBLIC_DOMAIN inclut le sous-domaine de l'instance2b31ec7fix(seed): PrestaShop installé avec SSL et sans dynamic domain
🔧 Commandes utiles pour reprendre
Sur le serveur :
cd /opt/edubox
docker logs edubox-server --tail 50
docker exec edubox-server sh -c "cd /app && npx prisma db seed"
Sur le PC étudiant (PowerShell) :
podman ps --format "table {{.Names}}`t{{.Status}}`t{{.Ports}}"
podman logs -f cmqiiso9g0001mfap4wv7a690-app-1