This commit is contained in:
2024-12-11 16:16:49 +03:00
commit b2699db727
12 changed files with 481 additions and 0 deletions

60
linux/create_service.sh Executable file
View File

@@ -0,0 +1,60 @@
#!/bin/bash
# Имя сервиса
SERVICE_NAME="BuildIncrementer"
APP_DIR="/opt/BuildIncrementer"
VENV_PATH="$APP_DIR/.venv"
PORT=7898
# Полный путь к исполняемому файлу uvicorn
EXEC_START="$VENV_PATH/bin/uvicorn main:app --host 0.0.0.0 --port $PORT"
# Файл службы systemd
SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME.service"
# Проверка, что директория приложения существует
if [ ! -d "$APP_DIR" ]; then
echo "Директория приложения не найдена: $APP_DIR"
exit 1
fi
# Проверка, что виртуальное окружение существует
if [ ! -d "$VENV_PATH" ]; then
echo "Виртуальное окружение не найдено: $VENV_PATH"
exit 1
fi
# Создание файла службы systemd
echo "Создаю файл службы systemd: $SERVICE_FILE"
sudo bash -c "cat > $SERVICE_FILE" <<EOL
[Unit]
Description=Counter Service
After=network.target
[Service]
Type=simple
User=$(whoami)
WorkingDirectory=$APP_DIR
ExecStart=$EXEC_START
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOL
# Перезагрузка конфигурации systemd
echo "Перезагружаю конфигурацию systemd..."
sudo systemctl daemon-reload
# Включение сервиса для автозапуска при старте системы
echo "Включаю сервис $SERVICE_NAME для автозапуска..."
sudo systemctl enable $SERVICE_NAME
# Запуск сервиса
echo "Запускаю сервис $SERVICE_NAME..."
sudo systemctl start $SERVICE_NAME
# Проверка статуса сервиса
echo "Проверяю статус сервиса $SERVICE_NAME..."
sudo systemctl status $SERVICE_NAME --no-pager