Générateur de service systemd — Créer un fichier d'unité .service

Faites tourner votre application comme un véritable service Linux qui démarre au boot et redémarre après un plantage. Choisissez un préréglage (Node.js, Python, Go, un script), ajustez la commande, l'utilisateur et l'environnement, et obtenez un fichier d'unité .service commenté avec un sandboxing optionnel, ou un .timer pour exécuter une tâche planifiée, à la manière de cron.

Mis à jour le
Fichier d'unité
Commandes d'installation

Vos données ne quittent jamais votre ordinateur. Tout le traitement se fait localement dans votre navigateur.

Comment utiliser : Générateur de service systemd

  1. Choisissez un préréglage — Node.js, Python avec Gunicorn, un binaire Go ou un script planifié — pour remplir des valeurs par défaut cohérentes.
  2. Renseignez la commande, le répertoire de travail et l'utilisateur qui l'exécute (créez-le avec useradd --system ; ne lancez jamais une application en root).
  3. Ajoutez des variables d'environnement ou un EnvironmentFile, choisissez la politique de redémarrage et gardez le sandboxing activé.
  4. Copiez le fichier d'unité dans /etc/systemd/system/ et exécutez les commandes d'installation affichées.

Les trois sections d'un fichier d'unité

SectionRéglages clés
[Unit]Description, et After=/Wants=network-online.target pour que l'application démarre une fois le réseau opérationnel
[Service]ExecStart (chemin absolu), User, WorkingDirectory, Environment, Restart et RestartSec
[Install]WantedBy=multi-user.target — ce à quoi systemctl enable rattache le service pour qu'il démarre au boot

Sandboxing

Les options de durcissement rendent le service nettement plus sûr sans modifier le code : NoNewPrivileges, ProtectSystem=strict (le système de fichiers est en lecture seule, sauf ReadWritePaths), ProtectHome, PrivateTmp, PrivateDevices et les protections du noyau. Vérifiez le résultat avec systemd-analyze security my-app. Si l'application doit écrire ailleurs, ajoutez ce chemin dans ReadWritePaths.

Des timers plutôt que cron

Une unité .timer lance un service oneshot selon un calendrier. Contrairement à cron, ses exécutions sont consignées dans le journal, il peut rattraper les exécutions manquées (Persistent=true) et vous pouvez voir la prochaine exécution avec systemctl list-timers. Pour convertir une ligne cron en valeur OnCalendar, consultez le générateur d'expressions cron.

Aussi recherché comme : générateur service systemd, générateur fichier unit systemd, créer service systemd, fichier service systemd, service systemd node js, service systemd python, générateur systemd timer, fichier service linux.

Outils complémentaires : Générateur de service systemd

  • Générateur de configuration Nginx — Choisissez ce que Nginx doit faire — servir un site statique ou une application SPA, agir en tant que proxy vers une application Node/Python, ou exécuter du code PHP — et cochez les options supplémentaires.
  • Générateur Dockerfile — Choisissez votre stack et obtenez un Dockerfile prêt pour la production : build multi-étapes, couche de dépendances en cache, utilisateur non-root, health check et .dockerignore assorti, le tout expliqué ligne par ligne.
  • Générateur de VirtualHost Apache — Obtenez une configuration complète d’hôte virtuel Apache pour votre domaine : site statique, WordPress, PHP-FPM ou proxy inverse vers une application Node ou Python.
  • Générateur de Caddyfile — Caddy obtient automatiquement les certificats HTTPS : vous ne faites que décrire votre site.

Questions fréquentes

Où placer un fichier de service systemd ?
Enregistrez-le sous /etc/systemd/system/NOM.service, exécutez sudo systemctl daemon-reload, puis sudo systemctl enable --now NOM pour le démarrer immédiatement et à chaque boot.
Comment consulter les journaux de mon service ?
Exécutez journalctl -u NOM -f pour suivre le journal en direct, ou journalctl -u NOM --since today. Tout ce que l'application écrit sur stdout ou stderr s'y retrouve.
Quelle différence entre Restart=always et on-failure ?
on-failure ne redémarre qu'après un plantage ou une sortie avec un code non nul ; always redémarre aussi après une sortie propre. Utilisez on-failure pour la plupart des applications et always pour les workers qui ne doivent jamais s'arrêter.
systemd peut-il remplacer cron ?
Oui : cochez « Exécuter selon un planning » pour obtenir une unité .timer. Les timers consignent chaque exécution, peuvent rattraper une période d'indisponibilité et sont plus faciles à inspecter que les entrées de crontab.
Puis-je installer Générateur de service systemd en tant qu’application web et l’utiliser hors ligne ?
Oui. Générateur de service systemd est une application web installable (PWA) : elle s’installe depuis votre navigateur, sans passer par une boutique d’applications. Cliquez sur « Installer l’application » en haut de cette page dans Chrome ou Edge (Windows, macOS, Linux, ChromeOS) ; sur Android, utilisez « Partager » → « Ajouter à l’écran d’accueil » sur iPhone et iPad ; ou « Fichier » → « Ajouter au Dock » dans Safari 17+ sur Mac. L’application s’ouvre alors dans sa propre fenêtre avec sa propre icône, et comme elle s’exécute entièrement dans votre navigateur, elle continue de fonctionner hors ligne. Firefox sur ordinateur de bureau ne permet pas d’installer d’applications web. Comment fonctionne l’installation.

Outils similaires