8.1 KiB
8.1 KiB
Задача: Простая настройка VDS с автоматической установкой Ubuntu
🎯 Описание задачи:
Цель:
Создать простую форму для автоматической настройки VDS сервера с установкой Ubuntu и деплоем DLE приложения.
Проблема:
Нужно вручную настраивать VDS сервер, устанавливать Ubuntu и необходимые компоненты для работы DLE приложения.
Решение:
Автоматическая очистка VDS, установка Ubuntu, создание пользователя и деплой DLE приложения через локальную форму.
📋 Требования:
1. Входные данные (9 полей):
- VDS IP - IP адрес сервера
- Домен - например
example.com(должен указывать на IP VDS) - Email - для SSL сертификата
- Логин Ubuntu - пользователь для VDS (по умолчанию
ubuntu) - Пароль Ubuntu - пароль для пользователя VDS
- Логин Docker - пользователь для Docker (по умолчанию
docker) - Пароль Docker - пароль для пользователя Docker
- SSH пользователь - обычно
root - SSH ключ - приватный ключ для подключения
- Ключ шифрования - автоматически загружается с локальной машины
1.1. Требования к домену:
- A запись
example.com→ IP VDS сервера - CNAME запись
www.example.com→example.com(опционально) - Домен должен быть активен и доступен
- DNS записи должны распространиться (проверка перед настройкой)
2. Что должно происходить:
- Проверка DNS - валидация A записи домена
- Подключение к VDS по SSH
- Очистка всего содержимого на VDS
- Установка Ubuntu
- Создание пользователя Ubuntu с паролем
- Создание пользователя Docker с паролем
- Установка Docker, Docker Compose, nginx
- Настройка nginx для продакшн приложения
- Получение SSL сертификата
- Миграция Docker образов с локальной машины
- Передача ключей (шифрования и RSA) на VDS
- Обновление переменных в БД VDS
- Запуск DLE приложения в Docker
3. Результат:
- VDS полностью очищена и переустановлена
- Ubuntu установлена с пользователями Ubuntu и Docker
- Docker образы мигрированы с локальной машины
- Ключи переданы с локальной машины на VDS
- Переменные обновлены в БД VDS
- DLE приложение работает в Docker на VDS
- Домен работает с SSL
- Приложение работает автономно на VDS
🏗️ Архитектура:
Продакшн режим:
Интернет → VDS nginx (домен) → VDS Docker приложение (автономно)
Настройка:
Локальная машина → SSH → VDS сервер → Очистка + Ubuntu + Docker миграция
Компоненты:
- Веб-форма - настройка VDS (7 полей)
- WebSSH сервис - SSH команды к VDS
- SSH агент - подключение к VDS
- VDS сервер - Ubuntu + Docker + nginx + SSL
- Docker образы - мигрированы с локальной машины
- Переменные окружения - настроены для продакшн
🚀 Процесс работы:
1. Первоначальная настройка:
- Заходит на
http://localhost:5173/settings/interface/webssh - Заполняет форму с данными VDS (9 полей)
- Нажимает "Настроить VDS"
2. Система настраивает VDS:
- Проверяет DNS записи домена
- Предупреждает если домен не готов
- Подключается к VDS по SSH
- Очищает все содержимое на VDS
- Устанавливает Ubuntu
- Создает пользователя Ubuntu с паролем
- Создает пользователя Docker с паролем
- Устанавливает Docker, Docker Compose, nginx
- Настраивает nginx для продакшн
- Получает SSL сертификат
- Мигрирует Docker образы с локальной машины
- Передает ключи (шифрования и RSA) на VDS
- Обновляет переменные в БД VDS
- Запускает DLE приложение в Docker
3. Результат:
- VDS полностью готова для работы
- Пользователи Ubuntu и Docker созданы
- Docker образы мигрированы и запущены
- Ключи переданы с локальной машины на VDS
- Переменные обновлены в БД VDS
- DLE приложение работает автономно в Docker
- Домен доступен с SSL
📁 Файлы проекта:
Frontend:
frontend/src/components/WebSshForm.vue- форма управленияfrontend/src/services/webSshService.js- SSH команды к VDS
Backend:
backend/routes/vds-management.js- API для управления VDSbackend/services/sshManager.js- SSH командыbackend/services/encryptionManager.js- управление шифрованием
Scripts:
scripts/setup-vds.sh- очистка VDS и установка Ubuntuscripts/migrate-docker.sh- миграция Docker образов на VDSscripts/configure-vds.sh- настройка переменных окруженияscripts/transfer-keys.sh- передача ключей на VDSscripts/update-variables.sh- обновление переменных в БДscripts/install-ubuntu.sh- автоматическая установка Ubuntu
✅ Статус:
Готово:
- ✅ Форма WebSSH упрощена
- ✅ WebSSH сервис обновлен
- ✅ DNS проверка добавлена
- ✅ Инструкции по настройке DNS созданы
- ✅ Поле VDS IP добавлено в форму
Нужно доработать:
- 🔄 SSH агент для очистки и установки Ubuntu
- 🔄 API для управления VDS
- 🔄 Миграция Docker образов на VDS
- 🔄 Передача ключей (шифрования и RSA) на VDS
- 🔄 Обновление переменных в БД VDS
- 🔄 Автоматическая загрузка ключа шифрования в форму
🎯 Следующие шаги:
- Создать SSH агент для очистки и установки Ubuntu
- Добавить API для управления VDS
- Реализовать миграцию Docker образов на VDS
- Создать скрипты для передачи ключей на VDS
- Реализовать обновление переменных в БД VDS
- Добавить автоматическую загрузку ключа шифрования в форму
- Протестировать на реальной VDS