176 lines
4.8 KiB
Markdown
176 lines
4.8 KiB
Markdown
# 🚀 Деплой 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. ✅ Настройте бэкапы базы данных |