4.8 KiB
4.8 KiB
🚀 Деплой 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
- подключение к PostgreSQLNEXTAUTH_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
- секрет для NextAuthJWT_SECRET
- секрет для JWTNEXTAUTH_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
🎯 Следующие шаги
- ✅ Настройте все переменные в
stack.env
- ✅ Запустите
npm run build
для проверки - ✅ Запустите
docker-compose up -d
- ✅ Проверьте доступность по
http://localhost:3000
- ✅ Настройте reverse proxy (nginx) для продакшена
- ✅ Настройте SSL сертификаты
- ✅ Настройте бэкапы базы данных