Commit Graph

39 Commits

Author SHA1 Message Date
EduBox Dev adab165274 agent v0.3.15: mode proxy auto/manuel, correction auto-update et conservation systray, animation UI update 2026-06-28 19:53:19 +00:00
EduBox Dev 33d89c66c0 fix(agent): v0.3.10 cleanup orphan instance dirs on startup
- Add cleanupOrphanInstanceDirs() to remove leftover instance directories
  after failed deletes (common on Windows when compose.log is locked)
- Log RemoveAll errors in dockerComposeRm for better visibility
- Bump version to 0.3.10 and rebuild binaries
2026-06-27 21:36:02 +00:00
EduBox Dev e946b22a42 feat(agent): v0.3.9 sync, UI details, self-update, centralized version
- Add agent/server startup sync (sync/sync_response)
- Centralize agent version in agent/VERSION + expose /api/agent/version
- Display agent version, nodeId and server version in local UI
- Add agent self-update detection/download/restart via helper scripts
- Run start/stop/delete/reset handlers in goroutines to avoid WebSocket blocking
- Update dashboard download links and SUIVI_VPN_ONDEMAND.md
- Document Podman stays installer-managed, not agent-updated
2026-06-27 21:11:20 +00:00
EduBox Dev cf8b66340a agent v0.3.8: fix crash UI notifications, auto Podman machine DNS, WordPress 7.0.0 ready template 2026-06-26 15:24:21 +00:00
EduBox Dev a414f03a59 feat(agent): v0.3.5 Windows inbound forwarding, UI actions, lifecycle
- Configure tailscale serve automatically for each instance on Windows userspace networking.
- Add local UI buttons: start/stop/reset/delete instances (stop/start preserve volumes).
- Clean shutdown: stop tailscaled and instances, notify server with instance_stopped.
- Restart tailscaled on agent boot using persisted state when pre-auth key is absent.
- Sync instance stopped/deleted status to dashboard (server/lib/websocket.ts).
- Security: include prior authz/scoping changes across API routes, ephemeral pre-auth keys, ACL policy, internal API key.
- Update SUIVI_VPN_ONDEMAND.md and docs/ONBOARDING_CLIENT.md.
- Bump agent version to 0.3.5.
2026-06-25 22:59:09 +00:00
EduBox Dev 331187e9b5 docs: update SUIVI_VPN_ONDEMAND.md with v0.3.3 links and --unattended fix 2026-06-23 18:36:58 +00:00
EduBox Dev 281c7c9a19 fix(agent/windows): add --unattended to tailscale up
On Windows tailscaled stops the backend when the CLI client disconnects.
--unattended keeps the VPN session alive so the agent can report its IP
and the server can reach the node. Bump to v0.3.3.
2026-06-23 18:36:14 +00:00
EduBox Dev 3a3e3ed202 fix(agent): correct version log, bump to v0.3.2, increase tailscale timeout
- Replace hardcoded AGENT_VERSION constant with injected version variable
- Bump agent version to 0.3.2
- Increase tailscale up/status timeout from 60s to 120s
2026-06-23 18:29:21 +00:00
EduBox Dev d090f67bff fix(agent/windows): named pipe Tailscale + hideWindow + logs
- Use Windows named pipe \.\pipe\studioe5-tailscaled instead of Unix socket
- Apply hideWindow to all child processes (tailscale, podman, docker, browser)
- Redirect agent logs to <data-dir>/agent.log and tailscaled logs to tailscaled.log
- Fix double tailscale/ tailscale dir path in startTailscaleAndReport
- Remove --operator=root on Windows
- Bump agent version to 0.3.1
2026-06-23 18:18:26 +00:00
EduBox Dev 03b2f1267d docs(vpn): ajout des améliorations UI (console intégrée + barre de progression) 2026-06-23 17:08:36 +00:00
EduBox Dev 73b561ed33 fix(prestashop): image edubox-prestashop fonctionne en local et derrière proxy
- edubox-tools.patch : getShopDomain/Ssl conservent les ports non standards
- edubox-configuration.patch : PS_SHOP_DOMAIN, _PS_BASE_URL_, PS_SSL_ENABLED… résolus dynamiquement
- edubox-shop-getbaseurl.patch : Shop::getBaseURL() utilise le host de la requête
- edubox-shopurl.patch : getMainShopDomain conserve les ports non standards
- edubox-clear-cache-init.sh : vidage des caches à chaque démarrage
- seed.ts : passage au tag 9-edubox-9
- README mis à jour avec les nouveaux patches
2026-06-23 16:39:12 +00:00
EduBox Dev 8a9deb8ebc feat(agent): activation zéro-config – config Headscale envoyée par le serveur
- Agent: URL serveur par défaut, node_id auto-généré, config Headscale vide par défaut
- Serveur: lors de l’activation, renvoie headscaleUrl + headscaleAuthKey
- Agent: sauvegarde la config reçue et démarre Tailscale automatiquement
- docker-compose.yml: passe HEADSCALE_URL et HEADSCALE_AUTH_KEY au service server
- Mise à jour du suivi avec le flow zéro-config
2026-06-23 10:30:19 +00:00
EduBox Dev df77caf64a feat(agent): packaging Windows + téléchargement HTTPS
- Téléchargement des binaires Tailscale Windows via download-tailscale-bins.sh
- Build Windows/Linux via build.sh avec génération d’archive zip
- Caddyfile : serve les agents en HTTPS sous /studioE5-agent*
- .gitignore : ignore agent/tailscale-bin/
- Documentation du téléchargement dans SUIVI_VPN_ONDEMAND.md
2026-06-23 10:00:52 +00:00
EduBox Dev b4344e9d66 docs(vpn): mise à jour du suivi – flux web OK et étude wildcard Infomaniak 2026-06-23 09:53:02 +00:00
EduBox Dev 124543d658 feat(vpn): VPN on-demand Tailscale + agent studioE5 standalone
- Agent studioE5 standalone en Go (console + systray)
- VPN on-demand via tailscaled + tailscale up (authkey Headscale)
- Resolver/serveur dans le tailnet studioe5
- Caddy on-demand TLS pour les instances
- Nouveaux endpoints serveur /api/internal/send-to-node
- Suppression des anciens binaires edubox-agent
- Suivi dans SUIVI_VPN_ONDEMAND.md
2026-06-23 09:48:00 +00:00
EduBox Dev dd49993157 clean: suppression complète PrestaShop 2026-06-20 13:57:37 +00:00
EduBox Dev 20baf3878f docs: notes de session pour reprise du debug PrestaShop 2026-06-17 21:58:53 +00:00
EduBox Dev 2b31ec7258 fix(seed): PrestaShop installé avec SSL et sans dynamic domain
- PS_ENABLE_SSL=1 pour correspondre à l'accès public HTTPS
- Suppression de PS_HANDLE_DYNAMIC_DOMAIN qui causait des boucles de redirect
2026-06-17 21:18:45 +00:00
EduBox Dev f2d184976b fix(seed): réactivation de PS_HANDLE_DYNAMIC_DOMAIN pour PrestaShop
- Permet d'accéder à la boutique via localhost ET via l'URL publique
- PrestaShop adapte automatiquement le domaine shop selon l'URL utilisée
2026-06-17 21:09:39 +00:00
EduBox Dev 2d57857221 fix(server/api): PUBLIC_DOMAIN inclut le sous-domaine de l'instance
- Avant : PS_DOMAIN valait 'alfrednobel.edudeploy.com' → redirection vers le dashboard
- Après : PS_DOMAIN vaut '<id>.alfrednobel.edudeploy.com' → bonne URL publique
2026-06-17 20:52:30 +00:00
EduBox Dev 5c4c9f3531 fix(server/api): envoi du ComposeConfig lors d'un reset d'instance
- Le reset ne transmettait que l'ID, l'agent écrivait un docker-compose.yml vide
- Correction pour envoyer type, port et composeConfig comme au start
2026-06-17 20:34:42 +00:00
EduBox Dev c1d1038a52 fix(seed): PrestaShop n'essaie plus de créer la BDD qui existe déjà
- PS_INSTALL_DB passé à 0 : MariaDB crée déjà la base via MYSQL_DATABASE
- Évite l'erreur 'database exists' qui laissait le install.lock bloqué
2026-06-17 20:29:41 +00:00
EduBox Dev a292bebf89 fix(seed): PrestaShop template simplifié
- Désactivation de PS_HANDLE_DYNAMIC_DOMAIN (provoquait des conflits)
- PS_ENABLE_SSL passé à 0 car le proxy gère le HTTPS
- Ajout de PS_DEV_MODE=1 pour faciliter le debug
2026-06-17 20:00:42 +00:00
EduBox Dev 49a820bb8a fix(seed): template PrestaShop corrigé pour installation automatique
- Utilisation des variables DB attendues par l'image officielle (DB_SERVER, DB_USER...)
- Activation de PS_INSTALL_AUTO=1 et PS_INSTALL_DB=1
- Activation de PS_ENABLE_SSL et PS_HANDLE_DYNAMIC_DOMAIN
- Suppression du montage mu-plugin WordPress pour PrestaShop
- Mot de passe admin par défaut: EduboxPrestashop2024!
2026-06-17 19:24:13 +00:00
EduBox Dev a94b7526f7 fix(server/proxy): ajout duplex half pour forwarder les POST
- Route proxy: ajout de duplex: 'half' lors de l'envoi d'un body,
  requis par Node.js fetch pour éviter l'erreur 500 sur wp-login.php
2026-06-17 18:55:50 +00:00
EduBox Dev 5cb70cd307 fix(server/caddy): certificats on-demand TLS émis correctement
- next.config.js: skipTrailingSlashRedirect évite le 308 sur /api/check-domain
- middleware.ts: exclut /api/check-domain du rewrite pour ne pas interférer
- Caddy peut maintenant valider les sous-domaines d'instances auprès du serveur
2026-06-17 18:43:31 +00:00
EduBox Dev 86b06dc417 fix(server): gestion erreur WebSocket au build + rewrite URL protocol-relative dans le proxy
- api/websocket: capture asynchrone EADDRINUSE pour ne pas bloquer le build
- proxy: réécrit aussi les URLs protocol-relatives (//localhost) dans le corps
2026-06-17 18:27:26 +00:00
EduBox Dev b383b11ae2 feat(agent,server): v0.2.7 - mu-plugin WordPress robuste, réparation wp-config, proxy cookies/headers
- Agent: mu-plugin embarqué amélioré (HTTPS forcé, filtres URL, localhost:port)
- Agent: suppression des WP_HOME/WP_SITEURL hardcodés au démarrage des instances
- Server/proxy: envoi X-Forwarded-Port, réécriture headers/body élargie
- Server/proxy: sanitization des Set-Cookie (Secure, SameSite, Domain)
- Dashboard: version agent 0.2.7, action Supprimer complète
- Cleanup: binaires agent 0.2.3-0.2.6 remplacés par 0.2.7
2026-06-17 18:23:06 +00:00
root 2feea2d063 fix(agent): versionnage des fichiers agent pour éviter le cache navigateur
- build.sh génère désormais des fichiers versionnés (edubox-agent-vX.Y.Z)
- dashboard et /api/download pointent vers les fichiers versionnés
- affichage de la version actuelle sur la page de téléchargement
2026-06-12 21:50:14 +00:00
root 852171cc59 feat(vpn): intégration Tailscale/Headscale + URLs publiques par sous-domaine
- Ajout d'un conteneur Tailscale côté serveur pour joindre les agents via IPs Tailscale
- Configuration Headscale exposé en HTTPS via Caddy (headscale.alfrednobel.edudeploy.com)
- Caddy configuré pour les sous-domaines avec TLS on-demand
- Middleware et route proxy Next.js pour router les sous-domaines vers les agents
- Ajout du champ domain sur Establishment et affichage de l'URL publique dans le dashboard
- Agent Windows v0.2.3 avec proxy Tailscale par instance pour contourner Docker Desktop
- Templates WordPress/PrestaShop bindés sur 0.0.0.0 pour être accessibles via Tailscale
2026-06-12 21:41:56 +00:00
root 2dc9ba7b55 fix(agent): detection robuste du statut instances avec fallback ps -q (v0.2.1) 2026-06-12 19:25:23 +00:00
root c9ca22bafc feat(agent): ajout du numéro de version v0.2.0 affiché au démarrage + script build multiplateforme 2026-06-12 19:15:24 +00:00
root 47ca55adbb fix(agent): gère registered silencieusement + nettoie logs heartbeat; feat(seed): MariaDB pour WordPress/PrestaShop 2026-06-12 19:05:14 +00:00
root 6485019785 feat(agent): build multiplateforme + téléchargement agents via Caddy 2026-06-12 18:46:29 +00:00
root 7ecc2abe0a feat(agent): amélioration UI étudiante - instances, statut et lien site 2026-06-12 18:36:31 +00:00
root 479a8de858 fix: activation via connexion WS principale, cascade delete student→nodes, lien fiche étudiant
- agent/websocket.go: expose sendMessage() + notifyUI() pour broadcaster
  les résultats d'activation à tous les clients UI connectés
- agent/ui.go: supprime forwardActivation(), utilise sendMessage() sur
  la connexion WS principale au lieu d'une connexion temporaire
- agent/activation.go: ajoute os.MkdirAll avant l'écriture d'activation.json
- server/prisma/schema.prisma: onDelete Cascade sur Node→Student
- server/app/dashboard/students/page.tsx: nom cliquable vers fiche détail
- server/app/dashboard/students/[id]/actions.ts: deleteMany → delete
2026-06-06 22:41:15 +00:00
root 349c8d0e2a feat: auto-detect podman/docker in agent, add studentId to activation response, fix download URLs 2026-06-06 21:14:24 +00:00
root a1883080d3 feat: add CRUD forms with Server Actions for establishments, users, classes, students 2026-06-06 20:08:17 +00:00
root 0a73a70820 Initial commit: EduBox V2 platform 2026-06-06 19:55:41 +00:00