Files
protekauto-cms/DEPLOY.md

4.8 KiB
Raw Blame History

🚀 Деплой ProtekaAuto CMS

📋 Что исправлено

Проблемы со стилями

  • Исправлен globals.css для совместимости с Tailwind CSS v4
  • Обновлен синтаксис тем и цветовых переменных
  • Стили теперь корректно загружаются в продакшене

Docker Compose конфигурация

  • Добавлены все переменные окружения из stack.env
  • Исправлена структура и комментарии
  • Добавлена поддержка PARTSINDEX_API_KEY
  • Добавлен динамический порт через CMS_PORT

🔧 Подготовка к деплою

1. Настройка переменных окружения

Скопируйте stack.env и настройте все переменные:

cp stack.env.example stack.env
nano stack.env

Обязательные переменные для настройки:

  • DATABASE_URL - подключение к PostgreSQL
  • NEXTAUTH_SECRET - секретный ключ для авторизации
  • JWT_SECRET - секретный ключ для JWT токенов
  • NEXTAUTH_URL - URL вашей CMS админки
  • AWS S3 настройки для файлов
  • API ключи для интеграций

2. Проверка конфигурации

# Проверка SMS конфигурации
npm run check:sms

# Проверка Docker Compose
./scripts/test-docker-compose.sh

# Проверка сборки
npm run build

🐳 Деплой через Docker

Запуск CMS

# Сборка и запуск
docker-compose up -d

# Просмотр логов
docker-compose logs -f

# Остановка
docker-compose down

Обновление

# Обновление кода
git pull

# Пересборка и перезапуск
docker-compose down
docker-compose up -d --build

# Или используйте готовый скрипт
./scripts/update-container.sh

📊 Мониторинг

Проверка состояния

# Статус контейнеров
docker-compose ps

# Использование ресурсов
docker stats

# Логи в реальном времени
docker-compose logs -f --tail=100

Health Check

CMS доступна по адресу: http://localhost:3000/api/health

🔧 Полезные команды

База данных

# Генерация Prisma клиента
npm run db:generate

# Применение изменений схемы
npm run db:push

# Prisma Studio (GUI для БД)
npm run db:studio

Разработка

# Локальный запуск с hot reload
npm run dev

# Линтинг
npm run lint

# Тестирование сборки
npm run build

🚨 Troubleshooting

Проблемы со стилями

  • Убедитесь, что используется Tailwind CSS v4
  • Проверьте globals.css и tailwind.config.js
  • Очистите кеш: rm -rf .next

Проблемы с Docker

  • Проверьте stack.env файл
  • Убедитесь, что все переменные заданы
  • Проверьте логи: docker-compose logs

Проблемы с базой данных

  • Проверьте DATABASE_URL
  • Убедитесь, что PostgreSQL доступен
  • Запустите npm run db:push

📝 Переменные окружения

Полный список переменных в stack.env:

База данных

  • DATABASE_URL - строка подключения к PostgreSQL

Авторизация

  • NEXTAUTH_SECRET - секрет для NextAuth
  • JWT_SECRET - секрет для JWT
  • NEXTAUTH_URL - URL админки

AWS S3

  • AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
  • AWS_BUCKET_NAME, AWS_S3_BUCKET, S3_ENDPOINT

SMS API

  • BEELINE_SMS_USER, BEELINE_SMS_PASS, BEELINE_SMS_SENDER

Интеграции

  • Laximo API: LAXIMO_LOGIN, LAXIMO_PASSWORD
  • YooKassa: YOOKASSA_SHOP_ID, YOOKASSA_SECRET_KEY
  • AutoEuro: AUTOEURO_API_KEY
  • PartsAPI: PARTSAPI_*_KEY
  • PartsIndex: PARTSINDEX_API_KEY
  • Яндекс: YANDEX_*_API_KEY

🎯 Следующие шаги

  1. Настройте все переменные в stack.env
  2. Запустите npm run build для проверки
  3. Запустите docker-compose up -d
  4. Проверьте доступность по http://localhost:3000
  5. Настройте reverse proxy (nginx) для продакшена
  6. Настройте SSL сертификаты
  7. Настройте бэкапы базы данных