# TV-Wall - Wiedergabe direkt auf der Konsole (Raspberry Pi OS Lite).
# Wird von install.sh nach /etc/systemd/system/tvwall.service geschrieben.
[Unit]
Description=TV-Wall Media-Player und Webinterface
Documentation=file:/opt/tvwall/README.md
After=network.target getty@tty1.service
Conflicts=getty@tty1.service

[Service]
Type=simple
User=@RUN_USER@
SupplementaryGroups=video render audio input tty

# Bildschirm gehoert uns: Konsole tty1, kein Bildschirmschoner, kein Cursor.
TTYPath=/dev/tty1
StandardInput=tty-force
StandardOutput=journal
StandardError=journal
TTYVTDisallocate=yes
ExecStartPre=/bin/sh -c '/usr/bin/setterm --blank 0 --powerdown 0 --cursor off > /dev/tty1 || true'

ExecStart=/usr/local/bin/tvwall -config @CONFIG@
Restart=always
RestartSec=3

# Damit der Webserver Port 80 verwenden darf, ohne als root zu laufen.
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE

# /run/tvwall fuer den mpv-Steuersocket
RuntimeDirectory=tvwall
RuntimeDirectoryMode=0775

NoNewPrivileges=yes
ProtectSystem=full

[Install]
WantedBy=multi-user.target
