# Frontend Enjay (Nuxt 4 / Nitro) # # POURQUOI UN SERVICE PERMANENT ? # Le front est en `ssr: false`, ce qui laisse croire à un site statique qu'Apache # pourrait servir seul. C'EST FAUX : # 1. `nuxt build` produit un serveur Nitro (.output/nitro.json → "node-server"), # pas un site statique (il n'y a ni `nuxt generate`, ni nitro.preset:'static'). # 2. Surtout : 100 % des appels backend passent par /api/proxy, des routes # SERVEUR Nitro (server/api/proxy/**) qui injectent les clés d'API secrètes # (server/utils/proxyTo.ts → header X-API-KEY). # ⇒ Servir .output/public/ en statique = tous les appels en 404, et les clés ne # pourraient pas être injectées sans les exposer au navigateur. # # Installation : # sudo cp deploy/systemd/enjay-frontend.service /etc/systemd/system/ # sudo systemctl daemon-reload # sudo systemctl enable --now enjay-frontend # journalctl -u enjay-frontend -f # # ⚠️ SELinux (AlmaLinux) : Apache doit être autorisé à proxyfier vers le :3100 # sudo setsebool -P httpd_can_network_connect 1 # # RÉFÉRENCE — deploy-almalinux/install.sh (phase 7) installe/réimplémente cette # unité : toute modification ici doit y être répercutée. [Unit] Description=Enjay Frontend (Nuxt/Nitro) After=network.target [Service] Type=simple # L'utilisateur doit POSSEDER le dossier : connect/frontend est en drwxr-x--- lebackyardafrica. User=lebackyardafrica Group=lebackyardafrica # Chemin reel du deploiement. Un WorkingDirectory inexistant => "status=200/CHDIR" # et le service redemarre en boucle sans jamais servir une page. WorkingDirectory=/home/lebackyardafrica/public_html/app/connect/frontend Environment=NODE_ENV=production # ⚠️ 3000 est occupé par ESTAIR sur ns3190545 → frontend enjay sur 3100 # (aligné sur deploy-almalinux/install.sh et le vhost front.). Environment=PORT=3100 Environment=HOST=127.0.0.1 ExecStart=/usr/bin/node .output/server/index.mjs Restart=always RestartSec=5 StandardOutput=journal StandardError=journal SyslogIdentifier=enjay-frontend [Install] WantedBy=multi-user.target