From 8e6d193d4c47a6615b36065a84e337e67aadded3 Mon Sep 17 00:00:00 2001 From: Antoine Van Elstraete Date: Tue, 9 Jun 2026 16:52:58 +0200 Subject: [PATCH] feat: Ajoute les services systemd pour snmp2mqtt --- SYSTEMD.md | 39 +++++++++++++++++++++++++++++++++++++++ snmp-discover.service | 15 +++++++++++++++ snmp2mqtt.service | 19 +++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 SYSTEMD.md create mode 100644 snmp-discover.service create mode 100644 snmp2mqtt.service diff --git a/SYSTEMD.md b/SYSTEMD.md new file mode 100644 index 0000000..a93e6a8 --- /dev/null +++ b/SYSTEMD.md @@ -0,0 +1,39 @@ +# Service systemd pour snmp2mqtt + +## Installation + +Copiez le fichier dans `/etc/systemd/system/` : + +```bash +sudo cp snmp2mqtt.service /etc/systemd/system/ +sudo cp snmp-discover.service /etc/systemd/system/ +``` + +Créez un utilisateur dédié : + +```bash +sudo useradd -r -s /bin/false snmp2mqtt +sudo chown -R snmp2mqtt:snmp2mqtt /home/snmp2mqtt/snmp2mqtt +``` + +Rechargez systemd et activez le service : + +```bash +sudo systemctl daemon-reload +sudo systemctl enable snmp2mqtt +sudo systemctl start snmp2mqtt +``` + +## Journalisation + +```bash +journalctl -u snmp2mqtt -f +``` + +## Pour snmp-discover + +Le service `snmp-discover.service` est de type `oneshot` et ne doit pas être activé automatiquement. Il est destiné à être lancé manuellement pour configurer les appareils : + +```bash +sudo systemctl start snmp-discover +``` diff --git a/snmp-discover.service b/snmp-discover.service new file mode 100644 index 0000000..1b179fe --- /dev/null +++ b/snmp-discover.service @@ -0,0 +1,15 @@ +[Unit] +Description=SNMP Discovery Tool for snmp2mqtt +Documentation=https://git.antoineve.me/AntoineVe/snmp2mqtt + +[Service] +Type=oneshot +User=snmp2mqtt +Group=snmp2mqtt +WorkingDirectory=/home/snmp2mqtt/snmp2mqtt +ExecStart=/home/snmp2mqtt/snmp2mqtt/.venv/bin/python /home/snmp2mqtt/snmp2mqtt/snmp-discover.py --config /home/snmp2mqtt/snmp2mqtt/config.yaml +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target diff --git a/snmp2mqtt.service b/snmp2mqtt.service new file mode 100644 index 0000000..71f5ea7 --- /dev/null +++ b/snmp2mqtt.service @@ -0,0 +1,19 @@ +[Unit] +Description=SNMP to MQTT bridge for Home Assistant +Documentation=https://git.antoineve.me/AntoineVe/snmp2mqtt +After=network.target +Wants=network.target + +[Service] +Type=simple +User=snmp2mqtt +Group=snmp2mqtt +WorkingDirectory=/home/snmp2mqtt/snmp2mqtt +ExecStart=/home/snmp2mqtt/snmp2mqtt/.venv/bin/python /home/snmp2mqtt/snmp2mqtt/snmp2mqtt.py --config /home/snmp2mqtt/snmp2mqtt/config.yaml +Restart=on-failure +RestartSec=10 +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target