7.1 KiB
7.1 KiB
📦 Инструкция по развертыванию Global-IT24 Landing Page
🎯 Быстрый старт
cd /home/ubuntu/global_it24_landing
# 1. Настройте .env файл (если еще не настроен)
nano .env
# 2. Очистите старые контейнеры и кеш
docker compose down
docker builder prune -f
# 3. Запустите развертывание (РЕКОМЕНДУЕТСЯ)
./deploy.sh --fast
📝 Варианты развертывания
Вариант 1: Быстрая сборка (РЕКОМЕНДУЕТСЯ)
./deploy.sh --fast
⏱️ Время: 10-15 минут
✅ Использует: BuildKit кеш для ускорения
Вариант 2: Полная сборка без кеша
./deploy.sh
⏱️ Время: 20-30 минут
⚠️ Используйте только: При первом развертывании или проблемах с кешем
Вариант 3: Обновление без пересборки
./update.sh
⏱️ Время: ~10 секунд
✅ Используйте: Когда изменились только переменные .env
Вариант 4: Обновление с пересборкой
./update.sh --rebuild
⏱️ Время: 5-10 минут
✅ Используйте: После изменения кода или зависимостей
🔧 Конфигурация .env
Обязательные переменные:
# Основные настройки
DOMAIN=video.mscsrv.ru
NEXT_PUBLIC_SITE_URL=https://video.mscsrv.ru
APP_HOST_IP=192.168.50.100 # IP вашего сервера
# База данных PostgreSQL
POSTGRES_USER=global_it24_user
POSTGRES_PASSWORD=ваш_надежный_пароль
POSTGRES_DB=global_it24_db
DATABASE_URL="postgresql://..."
# Email уведомления
SMTP_HOST=smtp.yandex.ru
SMTP_PORT=587
SMTP_USER=info@global-it24.ru
SMTP_PASSWORD=ваш_пароль_приложения
EMAIL_FROM=info@global-it24.ru
EMAIL_TO=info@global-it24.ru
# Telegram уведомления (опционально)
TELEGRAM_BOT_TOKEN=ваш_токен_бота
TELEGRAM_CHAT_ID=ваш_chat_id
# Traefik (если используется внешний Traefik)
TRAEFIK_HOST=traefik-host # Hostname сервера с Traefik
📊 Мониторинг
Проверка статуса
./status.sh
Просмотр логов
./logs.sh # Все логи
./logs.sh --tail 100 # Последние 100 строк
Проверка работы приложения
# Локально
curl http://localhost:3000
# Через Traefik (если настроен)
curl https://video.mscsrv.ru
🐛 Решение проблем
Проблема: Сборка зависла на "Building fresh packages"
Решение:
# Остановите сборку
Ctrl+C
# Очистите кеш
docker builder prune -f
# Попробуйте снова с --fast
./deploy.sh --fast
См. подробности в QUICK_FIX.md
Проблема: Недостаточно ресурсов
Проверьте:
free -h # Проверка RAM
df -h # Проверка диска
docker info # Лимиты Docker
Рекомендуемые ресурсы:
- CPU: минимум 2 ядра, рекомендуется 4
- RAM: минимум 4GB, рекомендуется 8GB
- Диск: минимум 10GB свободного места
Проблема: Не запускается после сборки
Проверьте логи:
docker compose logs web
docker compose logs db
Типичные причины:
- Ошибки в .env файле
- База данных не запустилась
- Порт 3000 уже занят
Проблема: База данных не подключается
Проверьте:
# Статус контейнера БД
docker compose ps db
# Логи БД
docker compose logs db
# Подключение вручную
docker compose exec db psql -U $POSTGRES_USER -d $POSTGRES_DB
🔄 Обновление приложения
Обновление кода из Git
cd /home/ubuntu/global_it24_landing
git pull origin master
./update.sh --rebuild
Обновление только переменных .env
nano .env
./update.sh
Применение миграций БД
docker compose exec web npx prisma migrate deploy
📦 Резервное копирование
Создание бэкапа БД
./backup-db.sh
Файл сохраняется в: ./backups/db_backup_YYYYMMDD_HHMMSS.sql
Восстановление из бэкапа
docker compose exec -T db psql -U $POSTGRES_USER -d $POSTGRES_DB < backups/db_backup_XXXXXXXX.sql
🌐 Настройка Traefik
- Скопируйте пример конфигурации:
cp traefik-config-example.yml /путь/к/traefik/dynamic/global-it24.yml
-
Отредактируйте параметры:
APP_HOST_IP:3000- IP вашего сервераvideo.mscsrv.ru- ваш домен
-
Перезагрузите Traefik:
docker restart traefik # или используйте ваш метод
📚 Дополнительная документация
BUILD_OPTIMIZATION.md- Подробности оптимизации сборкиQUICK_FIX.md- Быстрое решение проблемы зависанияDATABASE.md- Управление базой данных
🆘 Поддержка
Если проблема не решена:
- Проверьте логи:
./logs.sh - Проверьте статус:
./status.sh - Попробуйте полную пересборку:
docker compose down -v
docker builder prune -a -f
./deploy.sh
✅ Чек-лист после развертывания
- Приложение запущено:
./status.sh - Доступно локально:
curl http://localhost:3000 - База данных работает:
docker compose logs db - Логи без ошибок:
./logs.sh - Настроен Traefik (если используется)
- Форма обратной связи работает
- Email уведомления приходят
- Telegram уведомления работают (если настроены)
- Создан первый бэкап БД:
./backup-db.sh
🚀 Готово!
Приложение развернуто и готово к работе!
Полезные команды:
./status.sh # Статус
./logs.sh # Логи
./update.sh # Обновление
./backup-db.sh # Бэкап БД
./deploy.sh --help # Справка по развертыванию
./update.sh --help # Справка по обновлению