Files
protekauto-cms/DEPLOY.md

176 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 Деплой ProtekaAuto CMS
## 📋 Что исправлено
### ✅ Проблемы со стилями
- Исправлен `globals.css` для совместимости с Tailwind CSS v4
- Обновлен синтаксис тем и цветовых переменных
- Стили теперь корректно загружаются в продакшене
### ✅ Docker Compose конфигурация
- Добавлены все переменные окружения из `stack.env`
- Исправлена структура и комментарии
- Добавлена поддержка `PARTSINDEX_API_KEY`
- Добавлен динамический порт через `CMS_PORT`
## 🔧 Подготовка к деплою
### 1. Настройка переменных окружения
Скопируйте `stack.env` и настройте все переменные:
```bash
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. Проверка конфигурации
```bash
# Проверка SMS конфигурации
npm run check:sms
# Проверка Docker Compose
./scripts/test-docker-compose.sh
# Проверка сборки
npm run build
```
## 🐳 Деплой через Docker
### Запуск CMS
```bash
# Сборка и запуск
docker-compose up -d
# Просмотр логов
docker-compose logs -f
# Остановка
docker-compose down
```
### Обновление
```bash
# Обновление кода
git pull
# Пересборка и перезапуск
docker-compose down
docker-compose up -d --build
# Или используйте готовый скрипт
./scripts/update-container.sh
```
## 📊 Мониторинг
### Проверка состояния
```bash
# Статус контейнеров
docker-compose ps
# Использование ресурсов
docker stats
# Логи в реальном времени
docker-compose logs -f --tail=100
```
### Health Check
CMS доступна по адресу: `http://localhost:3000/api/health`
## 🔧 Полезные команды
### База данных
```bash
# Генерация Prisma клиента
npm run db:generate
# Применение изменений схемы
npm run db:push
# Prisma Studio (GUI для БД)
npm run db:studio
```
### Разработка
```bash
# Локальный запуск с 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. ✅ Настройте бэкапы базы данных