- 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 ""
|
|
|