Mise en place d’un daemon systemd afin de lancer un site web Middleman comme un service.

logo Middleman
Build static websites with an easy-to-use framework

Je travaille actuellement sur les évolutions d’un site écrit avec le générateur de site statique Middleman.
L’installation de tous les prérequis et la configuration d’une URL pour voir mon site installé sur un serveur dédié distant n’a pas été un problème, mais voilà, à chaque test, je dois relancer le service, tester, l’arrêter, modifier, recommencer.
Et chacun sait que les développeurs n’aiment pas reproduire en boucle les mêmes actions.
J’ai donc décidé de créer mon propre fichier de service systemd pour que mon site en middleman tourne en tache de fond.

Commençons par créer le fichier du service

cd /etc/systemd/system/
vi middleman.service

Le fichier middleman.Service contient ceci:

[Unit]
# Description de votre service
Description= Middleman <SITE_NAME> Dev

[Service]
Restart=always
WorkingDirectory=/<PATH/TO/MY/DEV/DIRECTORY>/.middleman/<SITE_NAME>
ExecStart=/bin/bash -lc 'bundle exec middleman server'

[Install]
WantedBy=default.target

Recharger systemd

$ systemctl daemon-reload

Activer le service au démarrage du système

$ systemctl enable middleman.service

Cette dernière commande créé un lien symbolique

Created symlink /etc/systemd/system/default.target.wants/middleman.service → /etc/systemd/system/middleman.service.

Démarrer le service

$ systemctl start middleman.service

Et c’est fini.

Source:
Configurer NodeJS en tant que daemon systemd :
https://fr-wiki.ikoula.com/fr/Configurer_NodeJS_en_tant_que_daemon_systemd

Créer un service avec systemd
https://doc.ubuntu-fr.org/creer_un_service_avec_systemd