From e99d2c0c925e840b8aa7510eb3bc93dc8d67c064 Mon Sep 17 00:00:00 2001 From: Davide Cavalca Date: Wed, 9 Apr 2025 09:38:41 -0700 Subject: [PATCH] Various improvements to the systemd unit - Use the Journal to log stdout/stderr - Drop DefaultInstance, it doesn't do anything in non-template units - Add sysusers config to manage the direwolf user automatically --- systemd/direwolf.logrotate | 12 ------------ systemd/direwolf.service | 5 +---- systemd/direwolf.sysusers | 4 ++++ 3 files changed, 5 insertions(+), 16 deletions(-) create mode 100644 systemd/direwolf.sysusers diff --git a/systemd/direwolf.logrotate b/systemd/direwolf.logrotate index 143b6083..75bd8f8d 100644 --- a/systemd/direwolf.logrotate +++ b/systemd/direwolf.logrotate @@ -1,15 +1,3 @@ -/var/log/direwolf/stdout /var/log/direwolf/stderr { - missingok - rotate 30 - daily - copytruncate - notifempty - compress - delaycompress - dateext - dateyesterday - } - /var/log/direwolf/*.log { missingok daily diff --git a/systemd/direwolf.service b/systemd/direwolf.service index c3380fac..cb13b846 100644 --- a/systemd/direwolf.service +++ b/systemd/direwolf.service @@ -12,16 +12,13 @@ User=direwolf # doing so. Then run systemctl daemon-reload so systemd uses your updated # copy of this service file. #ExecStartPre=/some/script.sh -ExecStart=/bin/bash -ce "exec /usr/bin/direwolf $DIREWOLF_ARGS >>/var/log/direwolf/stdout 2>>/var/log/direwolf/stderr" +ExecStart=/usr/bin/direwolf $DIREWOLF_ARGS Restart=always -StandardOutput=null -StandardError=null ProtectSystem=strict ProtectHome=true ReadWritePaths=/var/log/direwolf [Install] WantedBy=multi-user.target -DefaultInstance=1 # alternate version: https://www.f4fxl.org/start-direwolf-at-boot-the-systemd-way/ diff --git a/systemd/direwolf.sysusers b/systemd/direwolf.sysusers new file mode 100644 index 00000000..5e2f6bff --- /dev/null +++ b/systemd/direwolf.sysusers @@ -0,0 +1,4 @@ +#Type Name ID GECOS Home directory Shell +u direwolf -:audio 'Direwolf Sound Card-based AX.25 TNC' /usr/share/direwolf - +m direwolf audio +m direwolf dialout