systemd/systemd-services: add vnstat service

Monitoring the network usage due to mobile connections
being metred is probably interesting to more users.

vnstat is also the basis for Usage's optional network
view.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7001>
This commit is contained in:
Markus Göllnitz 2025-09-04 21:23:52 +02:00 committed by The Friendly Merge Bot
parent 0b582b4d1e
commit 5c01db2b90
No known key found for this signature in database
4 changed files with 47 additions and 4 deletions

View file

@ -2,7 +2,7 @@
# Co-maintainer: Clayton Craft <clayton@craftyguy.net>
# pmbootstrap installs this, if systemd is selected in "pmbootstrap init".
pkgname=postmarketos-base-systemd
pkgver=52
pkgver=53
pkgrel=0
pkgdesc="Meta package for running postmarketOS with systemd"
url="https://postmarketos.org"
@ -105,7 +105,7 @@ sha512sums="
2faac294bb632762e247b850f09ff4b544ccff6c462efd8d4faca71ba30bdfa9c460377a0dc88e92c5dbbe251017d164064a56ac0e0410f224b45d4f5f81866c rootfs-etc-systemd-logind.conf
15423bfda57c90ab62fe69865ca4072a0aeb83bf77d9c278257e346f4da81843d010b41003c91ae9f3fcb1c67447645e7c19078eea2bf11312051e6ad7523ad1 rootfs-usr-share-mkinitfs-files-extra-01-initramfs-base-systemd.files
94063e3a3f983b7613d9de6bfc067096f79b12688f45667faf968f9a9bae194c4c8e554311f2ab5614edcc4d4499f6d30aa965a67b7417c26ce4d07edc847178 rootfs-usr-lib-NetworkManager-conf.d-50-dns.conf
5cde069bb04a4241341ea3d7f3ff1d61baefb45770d6f4f8945d34cc37e004fcc6e7c7baff9dcc6b08aaf7c82909ae0adfa25ff7f6165784ba11115cc424171d rootfs-usr-lib-systemd-system-preset-90-base.preset
5863dcdd949d03ba2ea4810bb7bd60c342fa813a1e6e1d0508d06010d0d8d59df24ada3e184423e360f666e4c3378d07a1167c12db7632dbebf9c8dd0c5c0fd8 rootfs-usr-lib-systemd-system-preset-90-base.preset
1458d526e3d68c052126f648a33c3f22af10e3a4d479dded824c2b18b2022b43232ea6f8c2061f051927b2d612750017a2ecf7e1a19680b71ca2dc112d5bd3f6 rootfs-usr-lib-systemd-system-system.slice.d-10-oomd-defaults.conf
eec660310e5dd9782aaedeb0895844b2815a61169526f8ff6a21265f8167ef279004a973971308c2f0af8824e734f8556bd78cfabb908d742aaf7798e60e761e rootfs-usr-lib-systemd-user-preset-90-base.preset
1458d526e3d68c052126f648a33c3f22af10e3a4d479dded824c2b18b2022b43232ea6f8c2061f051927b2d612750017a2ecf7e1a19680b71ca2dc112d5bd3f6 rootfs-usr-lib-systemd-user-slice.d-10-oomd-defaults.conf

View file

@ -51,6 +51,9 @@ enable sddm.service
## gnome
enable gdm.service
## optional dependency of gnome-usage
enable vnstat.service
## fbkeyboard
enable fbkeyboard.service

View file

@ -7,8 +7,8 @@
# How to add a new service file (5 steps):
pkgname=systemd-services
# 1. bump pkgver
pkgver=92
pkgrel=1
pkgver=93
pkgrel=0
pkgdesc="Systemd service files"
url="https://postmarketos.org"
# armhf: pmb#2618
@ -99,6 +99,7 @@ subpackages="
udisks2-systemd:_service
udiskie-systemd:_service
usb-moded-systemd:_service
vnstat-systemd:_service
vvmd-systemd:_service
watchdog-kick-systemd:_service
waydroid-sensors-systemd:_service
@ -231,6 +232,7 @@ _udisks2_sources="system/udisks2.service" # From https://github.com/storaged-pro
_udiskie_sources="user/udiskie.service" # created, no unit file upstream
_usb_moded_sources="system/usb_moded.service" # From usb_moded upstream
_vvmd_sources="user/vvmd.service" # From https://salsa.debian.org/DebianOnMobile-team/vvmd/-/blob/debian/latest/debian/vvmd.user.service
_vnstat_sources="system/vnstat.service" # From https://github.com/vergoh/vnstat/blob/master/examples/systemd/vnstat.service
_watchdog_kick_sources="system/watchdog-kick.service"
_waydroid_sources="system/waydroid-container.service"
_waydroid_sensors_sources="system/waydroid-sensors.service"
@ -347,6 +349,7 @@ source="$(flatpath \
$_udiskie_sources \
$_usb_moded_sources \
$_vvmd_sources \
$_vnstat_sources \
$_watchdog_kick_sources \
$_waydroid_sensors_sources \
$_waydroid_sources \
@ -506,6 +509,7 @@ c7ea2b18c9d8f82306fbaca6d07b7019de3819d7898c3f50c3d0aceef4da4d311ed3bf31385e2f89
4c43a308e9e653914e534d92fc8caaf8c60cd21ae57bdbbf2fa591c1bd6a41e502268b6e0ff17b19cbe301fc7cfa1ad43070f13b372376fa3ddee9d11bf76f5a user-udiskie.service
be47b824125cc54d2e1c879f59421f3c549e3f42c92a53f7117968a861403edf60c9e3bf54fd54a69997ccb22dce6f891d993aec606070884e3ff6da2ac8a5b1 system-usb_moded.service
6029a2cc1e7fbc00fea0b2abe9d4be6fa2a03cee4b7aceaecb2bbc94ddf1ed3127f1ce99a2e38c0e901261ed36aa3a616390da22364b40370b820023dc2b4a8e user-vvmd.service
b7cbb806669929182855dccc8cc6a606d829457dbe78320e13aaa2fcfbfbf0891fa624a499c4f1ba21d15dd8f712f7fb8797119b8bdfbfe55e2c21c673389d28 system-vnstat.service
bef07aeb8d5d31d8f0d34e44e8db06f4a0aa1cb77245ca7e11e8775c935e3a3b3dcd923300192b0145c81e50bca76a97cfbee28e0af1e521ace794d26786eeaf system-watchdog-kick.service
841caa793d256cacea7eb651f3d77039b1c0ddb22727100d6cca74230e528aee09e945e1fdf20eaf40abbe3eaec9210eb7fa27144dc906cab65f8078b36921f9 system-waydroid-sensors.service
023fc89481f9079ac2d2d6b8a9ab212cb13a6b309caaa92b336df4c6ee9cff05538f035f8411fd8f6b87ca73b400172f56022edbf02d3776ab6f2aa7af2eebef system-waydroid-container.service

View file

@ -0,0 +1,36 @@
[Unit]
Description=vnStat network traffic monitor
Documentation=man:vnstatd(8) man:vnstat(1) man:vnstat.conf(5)
After=network.target
StartLimitIntervalSec=20
StartLimitBurst=4
[Service]
ExecStart=/usr/sbin/vnstatd --nodaemon
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=2
# Hardening
CapabilityBoundingSet=
LockPersonality=yes
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
PrivateDevices=yes
PrivateTmp=yes
ProtectClock=yes
ProtectControlGroups=yes
ProtectHome=yes
ProtectKernelLogs=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
ProtectSystem=strict
ReadWritePaths=/var/lib
RestrictNamespaces=yes
RestrictRealtime=yes
RestrictSUIDSGID=yes
StateDirectory=vnstat
[Install]
WantedBy=multi-user.target
Alias=vnstatd.service