| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #!/bin/bash
- # Setup script for absRecommend systemd service
- # This script installs and configures the service to run on boot with auto-restart
- set -e # Exit on error
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- SERVICE_FILE="$SCRIPT_DIR/absrecommend.service"
- SERVICE_NAME="absrecommend"
- echo "========================================="
- echo "absRecommend Service Setup"
- echo "========================================="
- echo ""
- # Check if running as root
- if [ "$EUID" -eq 0 ]; then
- echo "ERROR: Please run this script as a regular user (not root/sudo)"
- echo "The script will prompt for sudo password when needed"
- exit 1
- fi
- # Check if service file exists
- if [ ! -f "$SERVICE_FILE" ]; then
- echo "ERROR: Service file not found at $SERVICE_FILE"
- exit 1
- fi
- # Stop any existing background processes
- echo "Stopping any running instances..."
- pkill -f "python.*main.py" || true
- sleep 2
- # Copy service file
- echo "Installing service file..."
- sudo cp "$SERVICE_FILE" /etc/systemd/system/
- # Reload systemd
- echo "Reloading systemd..."
- sudo systemctl daemon-reload
- # Enable service
- echo "Enabling service to start on boot..."
- sudo systemctl enable $SERVICE_NAME
- # Start service
- echo "Starting service..."
- sudo systemctl start $SERVICE_NAME
- # Wait a moment for service to start
- sleep 2
- # Check status
- echo ""
- echo "========================================="
- echo "Service Status:"
- echo "========================================="
- sudo systemctl status $SERVICE_NAME --no-pager || true
- echo ""
- echo "========================================="
- echo "Setup Complete!"
- echo "========================================="
- echo ""
- echo "The service is now running and will:"
- echo " - Start automatically on system boot"
- echo " - Restart automatically if it crashes"
- echo " - Wait 5 seconds between restart attempts"
- echo ""
- echo "Useful commands:"
- echo " View logs: sudo journalctl -u $SERVICE_NAME -f"
- echo " Restart: sudo systemctl restart $SERVICE_NAME"
- echo " Stop: sudo systemctl stop $SERVICE_NAME"
- echo " Start: sudo systemctl start $SERVICE_NAME"
- echo " Status: sudo systemctl status $SERVICE_NAME"
- echo " Disable startup: sudo systemctl disable $SERVICE_NAME"
- echo ""
- echo "Application running at: http://0.0.0.0:8000"
- echo ""
|