[Unit] Description=Skull Voice Service - TTS, MP3 et jaw sync Documentation=file:///opt/Skull/apps/voice/README.md After=network.target mosquitto.service Wants=network.target Requires=mosquitto.service [Service] Type=simple User=skull Group=skull WorkingDirectory=/opt/Skull/apps/voice Environment=PYTHONPATH=/opt/Skull/apps Environment=PATH=/opt/Skull/venv/bin:/usr/local/bin:/usr/bin:/bin Environment=MQTT_HOST=127.0.0.1 Environment=MQTT_PORT=1883 Environment=LOG_LEVEL=INFO # Script wrapper ExecStart=/opt/Skull/bin/skull-voice.sh ExecReload=/bin/kill -HUP $MAINPID # Restart policy Restart=always RestartSec=5 StartLimitInterval=60 StartLimitBurst=3 # Logging StandardOutput=journal StandardError=journal SyslogIdentifier=skull-voice # Security NoNewPrivileges=yes PrivateTmp=yes ProtectSystem=strict ProtectHome=yes ReadWritePaths=/opt/Skull/logs /tmp CapabilityBoundingSet=CAP_NET_BIND_SERVICE # Audio permissions SupplementaryGroups=audio pulse pulse-access # Resource limits MemoryLimit=256M CPUQuota=50% # Timeouts TimeoutStartSec=30 TimeoutStopSec=15 [Install] WantedBy=multi-user.target