mirror of
https://github.com/Ladebeze66/coffreobsidian.git
synced 2025-12-16 13:27:47 +01:00
3.7 KiB
3.7 KiB
🚀 Automatiser le lancement de Strapi, Next.js et FastAPI au démarrage de Windows Server 2025
🎯 Objectif
Automatiser le lancement des 3 services suivants au démarrage du serveur :
| Service | Dossier | Commande |
|---|---|---|
| Strapi | J:\my-next-site\cmsbackend\ |
npm run develop |
| Next.js | J:\my-next-site\ |
npm run dev |
| FastAPI | J:\my-next-site\llm-api\ |
uvicorn api:app --host 0.0.0.0 --port 8000 |
✅ Stratégie recommandée
Utiliser un script PowerShell lancé via le Planificateur de tâches Windows :
- Simple à maintenir
- Exécution dans des fenêtres indépendantes
- Redémarrage automatique après un redémarrage
- Pas besoin de créer un service Windows
🧰 Étape 1 – Créer le script PowerShell
📄 Script : start-my-site.ps1
# Lancer Strapi
Start-Process powershell -ArgumentList "cd 'J:\my-next-site\cmsbackend'; npm run develop" -WindowStyle Normal
# Lancer Next.js
Start-Process powershell -ArgumentList "cd 'J:\my-next-site'; npm run dev" -WindowStyle Normal
# Lancer FastAPI
Start-Process powershell -ArgumentList "cd 'J:\my-next-site\llm-api'; uvicorn api:app --host 0.0.0.0 --port 8000" -WindowStyle Normal
💾 Sauvegarder ce script dans un emplacement fixe (ex. :
J:\my-next-site\start-my-site.ps1)
🧰 Étape 2 – Créer une tâche planifiée
🧭 Ouvrir le planificateur
Win + R→taskschd.msc
⚙️ Onglet Général
- Nom :
Lancer mes services web - Coche :
Exécuter avec les autorisations maximales - Choisir un compte administrateur
⚙️ Onglet Déclencheurs
- Nouveau
- Déclencheur :
Au démarrage - Délai (optionnel) :
30 secondes - Cocher :
Activé
- Déclencheur :
⚙️ Onglet Actions
- Programme/script :
powershell.exe - Ajouter des arguments :
-ExecutionPolicy Bypass -File "J:\my-next-site\start-my-site.ps1"
⚙️ Onglet Conditions
- Décocher :
Démarrer uniquement si l’ordinateur est sur secteur
⚙️ Onglet Paramètres
- Coche :
Autoriser l’exécution de la tâche à la demandeRedémarrer en cas d’échecRéessayer toutes les 1 min- (optionnel)
Arrêter si la tâche dure trop longtemps
🔁 Gestion des plantages
Le planificateur peut relancer automatiquement le script si les options sont activées.
Cependant, pour une meilleure résilience, tu peux envisager :
⚡️ Bonus : Utiliser pm2 pour Node.js
npm install -g pm2
# Lancer Strapi
cd J:\my-next-site\cmsbackend
pm2 start npm --name strapi -- run develop
# Lancer Next.js
cd J:\my-next-site
pm2 start npm --name next -- run dev
# Sauvegarder et rendre permanent
pm2 save
pm2 startup
PM2 permet de :
- Redémarrer automatiquement en cas de crash
- Avoir des logs
- Démarrer avec le système
✅ Résumé
| Élément | Action |
|---|---|
| Script PS1 | start-my-site.ps1 avec Start-Process pour chaque service |
| Planificateur | Tâche lancée au démarrage, en admin, avec PowerShell |
| Résilience | Gérée via planificateur ou via PM2 pour Node.js |
✉️ Besoin : export
.ps1prêt à l’emploi ou.xmldu planificateur ? Demande-moi !