Техническое задание: Деплой Fullstack-приложения
Цель проекта
Полноценный вывод в production fullstack-приложения, состоящего из двух основных частей: серверного API и клиентского веб-интерфейса, с настройкой всей необходимой инфраструктуры.
Стек технологий
- Бэкенд: Фреймворк Nest.js
- Фронтенд: Фреймворк Next.js
- База данных: PostgreSQL
- Инфраструктура: Облачный сервер (VPS/VDS)
- Доменное имя: Настроенное через стороннего регистратора
Основные задачи для исполнителя
1. Подготовка и настройка сервера
- Выбор и настройка инстанса облачного сервера (операционная система, базовое ПО).
- Установка и конфигурация среды выполнения Node.js.
- Установка и настройка сервера баз данных PostgreSQL (создание БД, пользователя, настройка прав доступа).
- Настройка файрвола и базовой безопасности сервера.
2. Деплой приложений
- Настройка репозитория и процесса деплоя для бэкенда (Nest.js).
- Настройка репозитория и процесса деплоя для фронтенда (Next.js).
- Конфигурация переменных окружения для обоих приложений (подключение к БД, API-ключи и т.д.).
- Настройка менеджера процессов (например, PM2) для автоматического запуска и поддержания работы приложений.
3. Настройка веб-сервера и прокси
- Установка и настройка веб-сервера (Nginx или аналог).
- Конфигурация виртуальных хостов для проксирования запросов:
- Запросы к API (например, api.domain.com) на порт бэкенд-приложения.
- Запросы к основному домену (domain.com) на порт фронтенд-приложения (или на сгенерированные статические файлы).
- Настройка SSL-сертификатов (HTTPS) для безопасного соединения.
4. Подключение домена
- Настройка DNS-записей (A-запись, CNAME при необходимости) у регистратора доменных имен для привязки домена к IP-адресу сервера.
- Проверка корректности распространения DNS-записей.
- Интеграция домена с настроенным веб-сервером.
5. Сдача работы и документация
- Полное тестирование работоспособности: API, клиентское приложение, подключение к БД.
- Предоставление краткой документации по структуре деплоя и инструкций для базового управления (перезапуск сервисов, просмотр логов).
- Передача доступа к настроенным сервисам и конфигурационным файлам.
Требования к результату
- Все сервисы (бэкенд, фронтенд, БД) стабильно работают на сервере.
- Обе части приложения доступны по настроенному доменному имени по защищенному протоколу HTTPS.
- Приложения корректно взаимодействуют друг с другом (фронтенд отправляет запросы к API).
- Инфраструктура готова к эксплуатации.