[Unit] Description=Arav's dwelling / Radio Requires=icecast.service After=network-online.target icecast.service [Service] Type=simple Restart=on-failure DynamicUser=yes ExecStart=/usr/bin/dwelling-radio -listen /var/run/dwelling-radio/sock \ -filelist /mnt/data/appdata/radio/filelist.html \ -playlist /mnt/data/appdata/radio/playlists/all-rand \ -fallback-song /mnt/data/appdata/radio/fallback.ogg \ -db /mnt/data/appdata/radio/statistics.db3 \ -lst-len 10 ReadOnlyPaths=/ ReadWritePaths=/mnt/data/appdata/radio LogsDirectory=dwelling-radio RuntimeDirectory=dwelling-radio AmbientCapabilities= CapabilityBoundingSet= LockPersonality=true MemoryDenyWriteExecute=true NoNewPrivileges=true PrivateDevices=true PrivateTmp=true PrivateUsers=true ProcSubset=pid ProtectClock=true ProtectControlGroups=true ProtectHome=true ProtectHostname=true ProtectKernelLogs=true ProtectKernelModules=true ProtectKernelTunables=true ProtectProc=noaccess ProtectSystem=strict RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX RestrictNamespaces=true RestrictRealtime=true RestrictSUIDSGID=true SystemCallArchitectures=native SystemCallFilter=~@clock SystemCallFilter=~@cpu-emulation SystemCallFilter=~@debug SystemCallFilter=~@module SystemCallFilter=~@mount SystemCallFilter=~@obsolete SystemCallFilter=~@privileged SystemCallFilter=~@raw-io SystemCallFilter=~@reboot SystemCallFilter=~@swap [Install] WantedBy=multi-user.target