#\!/bin/bash # This module handles setting up the application as a system service setup_systemd_service() { local install_dir=$1 echo "Setting up Transmission RSS Manager as a systemd service..." # Create service file cat > /tmp/transmission-rss-manager.service << EOL [Unit] Description=Transmission RSS Manager Service After=network.target [Service] Type=simple User=$(whoami) WorkingDirectory=${install_dir} ExecStart=${install_dir}/TransmissionRssManager --urls=http://0.0.0.0:5000 Restart=on-failure RestartSec=10 SyslogIdentifier=transmission-rss-manager Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target EOL # Move service file to systemd directory sudo mv /tmp/transmission-rss-manager.service /etc/systemd/system/ # Reload systemd sudo systemctl daemon-reload echo "Service has been set up" echo "To start the service: sudo systemctl start transmission-rss-manager" echo "To enable at boot: sudo systemctl enable transmission-rss-manager" } # Function to check if the service is running check_service_status() { if systemctl is-active --quiet transmission-rss-manager; then echo "Service is running" return 0 else echo "Service is not running" return 1 fi } # Function to start the service start_service() { echo "Starting Transmission RSS Manager service..." sudo systemctl start transmission-rss-manager if check_service_status; then echo "Service started successfully" else echo "Failed to start service" fi } # Function to stop the service stop_service() { echo "Stopping Transmission RSS Manager service..." sudo systemctl stop transmission-rss-manager if \! check_service_status; then echo "Service stopped successfully" else echo "Failed to stop service" fi }