From: Jonathan McDowell Date: Sat, 10 Jun 2023 17:17:26 +0000 (+0100) Subject: Add udev/systemd service files to start on device insertion X-Git-Tag: v0.1.0 X-Git-Url: https://the.earth.li/gitweb/?a=commitdiff_plain;h=73557d51d573ec67f8fd9549ba337661053108d5;p=mqttdeck.git Add udev/systemd service files to start on device insertion --- diff --git a/debian/mqttdeck.service b/debian/mqttdeck.service new file mode 100644 index 0000000..c3f94a5 --- /dev/null +++ b/debian/mqttdeck.service @@ -0,0 +1,17 @@ +[Unit] +Description=Stream Deck to MQTT bridge daemon +After=network-online.target + +[Service] +User=mqttdeck +ExecStart=/usr/sbin/mqttdeck + +MemoryDenyWriteExecute=true +NoNewPrivileges=yes +PrivateTmp=true +ProtectControlGroups=true +ProtectHome=true +ProtectKernelModules=true +ProtectKernelTunables=true +RestrictRealtime=true +RestrictNamespaces=true diff --git a/debian/mqttdeck.udev b/debian/mqttdeck.udev new file mode 100644 index 0000000..ac0ce39 --- /dev/null +++ b/debian/mqttdeck.udev @@ -0,0 +1,30 @@ +# udev rules to allow mqttdeck user to talk to the hidraw device + +ACTION!="add|change", GOTO="mqttdeck_rules_end" +SUBSYSTEM!="hidraw", GOTO="mqttdeck_rules_end" + +# Original Stream Deck +ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", \ + TAG+="systemd", OWNER="mqttdeck", ENV{SYSTEMD_WANTS}+="mqttdeck.service" + +# Stream Deck v2 +ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006d", \ + TAG+="systemd", OWNER="mqttdeck", ENV{SYSTEMD_WANTS}+="mqttdeck.service" + +# Stream Deck Mini +ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0080", \ + TAG+="systemd", OWNER="mqttdeck", ENV{SYSTEMD_WANTS}+="mqttdeck.service" + +# Stream Deck Mini Mk2 +ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0090", \ + TAG+="systemd", OWNER="mqttdeck", ENV{SYSTEMD_WANTS}+="mqttdeck.service" + +# Stream Deck XL +ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", \ + TAG+="systemd", OWNER="mqttdeck", ENV{SYSTEMD_WANTS}+="mqttdeck.service" + +# Stream Deck XL v2 +ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="008f", \ + TAG+="systemd", OWNER="mqttdeck", ENV{SYSTEMD_WANTS}+="mqttdeck.service" + +LABEL="mqttdeck_rules_end"