2026 Mac Mini loué : launchd ou PM2 pour vos tâches 7×24 ?
Indépendants et petites équipes en 7×24 sur Mac Mini loué : faut-il viser « tout launchd » ou « tout PM2 » lorsque Node ou Python mènent la stack ? Réponse ici : matrice de décision, tableau scénarios / journaux / crash / ressources, checklists plist, PM2, boot et rotation. Navigation : accueil, blog, achat, aide. Prolongements : FAQ SLA long terme, cron watchdog, Ollama keepalive.
Freins typiques : (1) un processus lancé à la main dans SSH meurt avec la session ; seul un LaunchAgent ou PM2 correctement accroché au login survit ; (2) sans ThrottleInterval côté launchd ni limite de relances côté PM2, un défaut applicatif noie le disque sous des journaux dupliqués ; (3) après maintenance hébergeur, il faut des chemins de logs stables et des codes de sortie lisibles pour l’astreinte.
Matrice de décision
Utilisez ce tableau comme premier filtre lorsque vous comparez deux gardiens de processus sur Apple Silicon loué : il met en regard les intentions d’usage, la manière dont les journaux sont produits, le comportement face aux sorties anormales et le coût mémoire hors charge métier.
| Superviseur | Scénarios adaptés | Journaux | Redémarrage après crash | Ressources |
|---|---|---|---|---|
| launchd | Services système ou binaires natifs, scripts fins, workers Go ou Swift ; idéal lorsque vous voulez la pile la plus courte sans parent Node permanent. | Fichiers via StandardOutPath et StandardErrorPath ; vous pouvez compléter avec la console unifiée macOS pour corréler. |
KeepAlive avec SuccessfulExit selon la sémantique de sortie ; ThrottleInterval limite les tempêtes. |
Surcoût RAM quasi nul hors votre exécutable ; pas d’interpréteur résident si vous ne l’introduisez pas vous-même. |
| PM2 | Plusieurs services Node ou Python, mode cluster, reload sans couper tout le trafic, fichier ecosystem.config partagé entre environnements. |
Un répertoire de logs par application sous PM2 ; sortie texte ou JSON ; module de rotation intégré ou outils externes. | Redémarrages comptés avec max_restarts, politiques de reload et cluster pour haute dispo modeste. |
Processus Node résident et démon PM2 : prévoir typiquement quelques dizaines de mégaoctets avant les heaps applicatifs. |
Hybride courant : PM2 sous launchd. Sondes HTTP : guardian OpenClaw.
Champs plist launchd indispensables
~/Library/LaunchAgents, plutil -lint, launchctl bootstrap gui/$UID. Checklist minimale :
- Label unique pour
launchctl; ProgramArguments en chemins absolus afin d’éviter un PATH implicite fragile. - WorkingDirectory pour que les chemins relatifs restent identiques après reboot ; RunAtLoad à activer si le service doit vivre dès l’ouverture de session.
- KeepAlive avec SuccessfulExit adapté ; ThrottleInterval d’environ dix secondes sur les jobs instables pour respirer entre tentatives.
- StandardOutPath et StandardErrorPath sur un volume avec marge disque ; EnvironmentVariables pour tokens ; Nice ou LowPriorityIO si le batch doit céder la priorité à une session interactive.
Mise à jour : bootout puis bootstrap.
Configuration PM2 et démarrage au boot
PM2 supervise l’app ; macOS garde la session. Six étapes après la première SSH sur Mac Mini loué :
- Node LTS +
npm install -g pm2. ecosystem.config.cjs: script, cwd, env,max_memory_restart.pm2 startpuispm2 statusstable.pm2 save.pm2 startup launchd, commandelaunchctl, reboot,pm2 resurrect.- Noter ports et santé avec la console.
Ressources et rotation des journaux
Sans rotation, l’APFS fond sous les logs ; traitez-la comme le gardien de processus.
- launchd :
logs/+ newsyslog ou troncature planifiée. - PM2 : module rotation ou export distant si rétention longue.
- Mémoire unifiée :
max_memory_restartaligné sur la RAM Mac Mini louée.
Repères citables : ThrottleInterval ~ dix secondes ; PM2 cinquante à quatre-vingt-dix Mo hors apps ; rotation avant quinze pour cent libre critique.
FAQ
PM2 remplace-t-il launchd sur macOS ?
Non : PM2 nécessite un contexte de session. Le schéma supporté reste pm2 startup launchd pour que launchd relève PM2 après chaque redémarrage.
Quelle option pour une seule API Node minimale ?
launchd suffit souvent. Adoptez PM2 lorsque vous multipliez les services, le cluster ou les déploiements sans coupure complète.
Comment éviter les boucles infinies de relance ?
Combinez ThrottleInterval côté launchd et plafonds max_restarts côté PM2, avec un backoff exponentiel dans vos scripts de déploiement pour signaler l’échec aux opérateurs.
Où louer le nœud après cette lecture ?
Ouvrez achat, choisissez un profil RAM adapté à vos workers, puis suivez le centre d’aide pour SSH et la console.
Une fois votre gardien de processus câblé et un redémarrage de validation réussi, industrialisez sur un nœud dédié : consultez les tarifs, finalisez sur achat, et gardez le blog pour les runbooks tâches longue durée. L’accueil résume l’offre RunMini pour les profils 7×24.
Mac Mini loué pour launchd et PM2
Besoin d’Apple Silicon joignable en SSH pour builds, agents ou files nocturnes ? Revenez à l’accueil, comparez les tarifs, puis passez commande sur achat. Le blog regroupe les guides d’hébergement longue durée ; le centre d’aide détaille connexion et console.
Louer un Mac Mini évite l’achat bare-metal tout en vous laissant maître de launchd et PM2 : appliquez la matrice, puis activez votre nœud via achat. Pour poursuivre sur le maintien en vie et les processus longue durée, parcourez le blog et l’accueil RunMini.