v0.3.0-prod

This commit is contained in:
Mateusz Gruszczyński committed 2026-11-04 14:57:48 +01:00
1 parent 387933957e
commit 677a0e4d2c
20 files changed
+1239 -180

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
[Unit]
Description=TS3 Monolith - panel TeamSpeak 3 (tworzenie kanalow + statystyki RRD)
Documentation=https://github.com/linuxiarz/ts3-monolith-go
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=ts3monolith
Group=ts3monolith
WorkingDirectory=/var/lib/ts3monolith
EnvironmentFile=/etc/default/ts3monolith
ExecStart=/usr/bin/ts3monolith
Restart=on-failure
RestartSec=3s
UMask=0027
StateDirectory=ts3monolith
StateDirectoryMode=0750
# Hardening. Usluga nie wymaga zadnych uprawnien poza siecia (TS3 ServerQuery,
# HTTP) i zapisem do /var/lib/ts3monolith (RRD + wygenerowane wykresy PNG).
NoNewPrivileges=true
PrivateTmp=true
PrivateDevices=true
ProtectHome=true
ProtectSystem=strict
ReadWritePaths=/var/lib/ts3monolith
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectKernelLogs=true
ProtectControlGroups=true
ProtectClock=true
ProtectHostname=true
RestrictSUIDSGID=true
RestrictNamespaces=true
RestrictRealtime=true
RestrictAddressFamilies=AF_INET AF_INET6
LockPersonality=true
CapabilityBoundingSet=
AmbientCapabilities=
SystemCallArchitectures=native
SystemCallFilter=@system-service
# MemoryDenyWriteExecute=true i SystemCallFilter=~@privileged @resources sa
# NIE wlaczone celowo: sa znanym zrodlem "code=dumped, signal=SYS" (seccomp
# zabija proces) dla binarek Go, w przeciwienstwie do np. Rusta/LLVM. Jesli
# chcesz dokrecic bardziej, wlaczaj je pojedynczo i patrz na
# `journalctl -u ts3monolith` / `dmesg | grep -i seccomp` po kazdej zmianie.
[Install]
WantedBy=multi-user.target