Linux

Générateur d'unité systemd

Générez un fichier d'unité systemd pour votre service : commande, utilisateur dédié, politique de redémarrage et commandes d'installation.

Utilisez un compte dédié non privilégié.

Jamais de secret ici : utilisez EnvironmentFile avec des droits 600.

Comment ça marche

Une unité systemd décrit comment démarrer, arrêter et superviser un service. Le fichier se place dans /etc/systemd/system/mon-app.service.

Bonnes pratiques : exécuter sous un utilisateur dédié non privilégié, définir Restart=on-failure, éviter les secrets dans Environment (utilisez EnvironmentFile avec un fichier en 600), et activer le service avec systemctl enable --now.

Exemples

API Python

Unité complète prête à installer.

namenettools-api
descriptionAPI NetTools
exec_start/opt/nettools/.venv/bin/uvicorn app.main:app --host 127.0.0.1 --port 8000
usernettools
restarton-failure
working_dir/opt/nettools
environment
wanted_bymulti-user.target
Charger cet exemple

Questions fréquentes

Où placer le fichier d'unité ?

/etc/systemd/system/nom.service, puis systemctl daemon-reload et systemctl enable --now nom.

Comment consulter les journaux ?

journalctl -u nom -f, ou --since '10 min ago' pour un historique proche.

Restart=always est-il une bonne idée ?

Sur un service critique oui, mais il masque les crashs répétés : combinez avec un monitoring des redémarrages (StartLimitBurst).