#!/bin/bash # Переменные USERNAME="test123" APP_DIR="/home/$USERNAME/dns_resolver_app" SERVICE_FILE="/etc/systemd/system/dns_resolver.service" NGINX_CONF="/etc/nginx/sites-available/dns_resolver" EMAIL_ADR="email@example.com" DOMAIN_NAME="your-domain.com" # Проверка существования пользователя if ! id "$USERNAME" &>/dev/null; then echo "Пользователь $USERNAME не существует." read -p "Хотите создать пользователя? (y/n): " CREATE_USER if [[ "$CREATE_USER" =~ ^[Yy]$ ]]; then sudo useradd -m -s /bin/bash "$USERNAME" echo "Пользователь $USERNAME успешно создан." else echo "Скрипт завершён, так как пользователь не существует." exit 1 fi fi # Обновление системы и установка зависимостей echo "Обновляем систему и устанавливаем зависимости..." sudo apt update && sudo apt upgrade -y sudo apt install python3 python3-pip python3-venv gunicorn nginx certbot python3-certbot-nginx -y # Создание директории приложения echo "Создаем директорию приложения..." sudo -u $USERNAME mkdir -p $APP_DIR # Перемещение в директорию приложения cd $APP_DIR # Создание виртуального окружения echo "Создаем виртуальное окружение..." sudo -u $USERNAME python3 -m venv venv # Активация виртуального окружения и установка библиотек echo "Устанавливаем зависимости Python..." # Загрузка файла requirements.txt curl -o $APP_DIR/requirements.txt https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/refs/heads/main/requirements.txt # Установка зависимостей из requirements.txt и добавление необходимых библиотек sudo -u $USERNAME bash -c "source $APP_DIR/venv/bin/activate && pip install -r $APP_DIR/requirements.txt fastapi uvicorn pydantic" # Загрузка файлов приложения echo "Загружаем файлы приложения..." curl -o "$APP_DIR/index.html" -L "https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/refs/heads/main/web/index.html" curl -o "$APP_DIR/app.py" -L "https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/refs/heads/main/web/app.py" curl -o "$APP_DIR/main.py" -L "https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/refs/heads/main/main.py" chown "$USERNAME":"$USERNAME" "$APP_DIR/main.py" # Создание системного сервиса echo "Создаем системный сервис..." sudo tee $SERVICE_FILE > /dev/null < /dev/null <