- Introduced `fix-service-simple.sh` to automate the creation and management of a systemd service for the AI Review Agent. - The script sets up the service with appropriate configurations, including logging and restart policies. - Added user feedback for service status checks and troubleshooting steps to enhance usability.
		
			
				
	
	
		
			92 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| echo "=========================================="
 | |
| echo "Creating simple systemd service"
 | |
| echo "=========================================="
 | |
| echo ""
 | |
| 
 | |
| INSTALL_DIR="$HOME/code-review-agent"
 | |
| 
 | |
| echo "Install directory: $INSTALL_DIR"
 | |
| echo "User: $USER"
 | |
| echo ""
 | |
| 
 | |
| # Создать простой systemd service БЕЗ жестких ограничений
 | |
| sudo tee /etc/systemd/system/ai-review.service > /dev/null << EOF
 | |
| [Unit]
 | |
| Description=AI Code Review Platform
 | |
| After=network.target
 | |
| 
 | |
| [Service]
 | |
| Type=simple
 | |
| User=$USER
 | |
| WorkingDirectory=$INSTALL_DIR/backend
 | |
| Environment="PATH=$INSTALL_DIR/backend/venv/bin:/usr/local/bin:/usr/bin:/bin"
 | |
| ExecStart=$INSTALL_DIR/backend/venv/bin/python3 -m uvicorn app.main:app --host 0.0.0.0 --port 8000
 | |
| Restart=always
 | |
| RestartSec=10
 | |
| StandardOutput=append:/var/log/ai-review/access.log
 | |
| StandardError=append:/var/log/ai-review/error.log
 | |
| 
 | |
| [Install]
 | |
| WantedBy=multi-user.target
 | |
| EOF
 | |
| 
 | |
| echo "✓ Service файл создан"
 | |
| echo ""
 | |
| 
 | |
| # Создать директорию логов
 | |
| sudo mkdir -p /var/log/ai-review
 | |
| sudo chown $USER:$USER /var/log/ai-review
 | |
| echo "✓ Директория логов создана"
 | |
| echo ""
 | |
| 
 | |
| # Перезагрузить systemd
 | |
| echo "Перезагрузка systemd..."
 | |
| sudo systemctl daemon-reload
 | |
| sudo systemctl enable ai-review
 | |
| echo "✓ Systemd обновлен"
 | |
| echo ""
 | |
| 
 | |
| # Запустить
 | |
| echo "Запуск сервиса..."
 | |
| sudo systemctl restart ai-review
 | |
| sleep 3
 | |
| 
 | |
| # Проверить статус
 | |
| echo ""
 | |
| echo "=========================================="
 | |
| if sudo systemctl is-active --quiet ai-review; then
 | |
|     echo "✅ Сервис запущен успешно!"
 | |
|     echo "=========================================="
 | |
|     echo ""
 | |
|     sudo systemctl status ai-review --no-pager | head -20
 | |
|     echo ""
 | |
|     echo "Приложение доступно: http://localhost:8000"
 | |
|     echo ""
 | |
|     echo "Полезные команды:"
 | |
|     echo "  sudo systemctl status ai-review"
 | |
|     echo "  sudo journalctl -u ai-review -f"
 | |
|     echo "  tail -f /var/log/ai-review/error.log"
 | |
| else
 | |
|     echo "❌ Сервис не запустился"
 | |
|     echo "=========================================="
 | |
|     echo ""
 | |
|     echo "Статус:"
 | |
|     sudo systemctl status ai-review --no-pager
 | |
|     echo ""
 | |
|     echo "Последние 30 строк логов:"
 | |
|     sudo journalctl -u ai-review -n 30 --no-pager
 | |
|     echo ""
 | |
|     echo "Проверьте:"
 | |
|     echo "  1. tail -50 /var/log/ai-review/error.log"
 | |
|     echo "  2. Попробуйте запустить вручную:"
 | |
|     echo "     cd $INSTALL_DIR/backend"
 | |
|     echo "     source venv/bin/activate"
 | |
|     echo "     python -m uvicorn app.main:app"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| echo ""
 | |
| 
 |