feat: Telegram Mini App integration and UX improvements
- Добавлена полная интеграция с Telegram Mini App (динамическая загрузка SDK) - Отдельный компактный дизайн для Telegram Mini App - Добавлен loader при инициализации (предотвращает мелькание SMS-авторизации) - Улучшена навигация: кнопки "Назад" и "К списку заявок" теперь сохраняют авторизацию - Telegram Mini App: кнопка "Выход" просто закрывает приложение - Telegram Mini App: заявки "В работе" скрыты из списка - Веб-версия: для заявок "В работе" добавлена кнопка "Просмотреть в Telegram" (ссылка на @klientprav_bot) - Telegram Mini App: кнопки действий в черновиках расположены вертикально - Веб-версия: убрано отображение номера телефона в приветствии - Исправлена проблема с возвратом к списку черновиков (не требует повторной SMS-авторизации) - Заблокировано удаление и редактирование заявок со статусом "В работе" - Добавлена документация по Telegram Mini App интеграции
This commit is contained in:
203
DEPLOYMENT.md
Normal file
203
DEPLOYMENT.md
Normal file
@@ -0,0 +1,203 @@
|
||||
# 🚀 Руководство по деплою: DEV → PROD
|
||||
|
||||
## 📍 Текущая структура
|
||||
|
||||
- **DEV:** http://147.45.146.17:5177/ (папка `aiform_dev/`)
|
||||
- **PROD:** https://aiform.clientright.ru/ (домен продакшна)
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Быстрый перенос изменений (1 команда)
|
||||
|
||||
```bash
|
||||
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
|
||||
./deploy-to-prod.sh
|
||||
```
|
||||
|
||||
Этот скрипт:
|
||||
1. ✅ Проверит незакоммиченные изменения
|
||||
2. ✅ Отправит код в git репозитории (dev и prod)
|
||||
3. ✅ Пересоберёт PROD контейнеры
|
||||
4. ✅ Перезапустит PROD окружение
|
||||
|
||||
---
|
||||
|
||||
## 📝 Пошаговый процесс (вручную)
|
||||
|
||||
### Шаг 1: Сохранить изменения в git
|
||||
|
||||
```bash
|
||||
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
|
||||
|
||||
# Проверить что изменилось
|
||||
git status
|
||||
|
||||
# Добавить изменения
|
||||
git add .
|
||||
|
||||
# Закоммитить
|
||||
git commit -m "feat: Описание изменений"
|
||||
|
||||
# Отправить в dev репозиторий
|
||||
git push aiform_dev main # или master
|
||||
```
|
||||
|
||||
### Шаг 2: Отправить в prod репозиторий
|
||||
|
||||
```bash
|
||||
# Отправить в prod
|
||||
git push aiform_prod main # или master
|
||||
```
|
||||
|
||||
### Шаг 3: Обновить PROD контейнеры
|
||||
|
||||
```bash
|
||||
# Пересобрать
|
||||
docker-compose -f docker-compose.prod.yml build
|
||||
|
||||
# Перезапустить
|
||||
docker-compose -f docker-compose.prod.yml down
|
||||
docker-compose -f docker-compose.prod.yml up -d
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Про .env файл
|
||||
|
||||
### Почему один .env, а не два?
|
||||
|
||||
**✅ Преимущества одного .env:**
|
||||
- Проще поддерживать (один файл вместо двух)
|
||||
- Меньше путаницы
|
||||
- Режим переключается через переменную `APP_ENV` в docker-compose
|
||||
|
||||
**Как это работает:**
|
||||
|
||||
В `docker-compose.dev.yml`:
|
||||
```yaml
|
||||
environment:
|
||||
- APP_ENV=development # Переопределяет значение из .env
|
||||
- DEBUG=true
|
||||
```
|
||||
|
||||
В `docker-compose.prod.yml`:
|
||||
```yaml
|
||||
environment:
|
||||
- APP_ENV=production # Переопределяет значение из .env
|
||||
- DEBUG=false
|
||||
```
|
||||
|
||||
**Ваш `.env` файл остаётся один**, но docker-compose переопределяет нужные переменные для каждого окружения.
|
||||
|
||||
---
|
||||
|
||||
## 📊 Структура репозиториев
|
||||
|
||||
```
|
||||
Gitea (http://147.45.146.17:3002/negodiy):
|
||||
├─ aiform_dev → DEV версия (http://147.45.146.17:5177/)
|
||||
├─ aiform_prod → PROD версия (https://aiform.clientright.ru/)
|
||||
└─ erv-platform → Основной репозиторий
|
||||
```
|
||||
|
||||
**Локальные папки:**
|
||||
- `/var/www/.../aiform_dev/` → DEV окружение
|
||||
- `/var/www/.../ticket_form/` → Основной проект (может быть и DEV и PROD)
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Типичный workflow
|
||||
|
||||
### 1. Разработка в DEV
|
||||
|
||||
```bash
|
||||
cd /var/www/fastuser/data/www/crm.clientright.ru/aiform_dev
|
||||
# или
|
||||
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
|
||||
|
||||
# Вносите изменения
|
||||
# Тестируете на http://147.45.146.17:5177/
|
||||
```
|
||||
|
||||
### 2. Когда готово → деплой в PROD
|
||||
|
||||
```bash
|
||||
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
|
||||
|
||||
# Вариант 1: Автоматический (рекомендуется)
|
||||
./deploy-to-prod.sh
|
||||
|
||||
# Вариант 2: Вручную
|
||||
git add .
|
||||
git commit -m "feat: Описание"
|
||||
git push aiform_prod main
|
||||
docker-compose -f docker-compose.prod.yml up -d --build
|
||||
```
|
||||
|
||||
### 3. Проверка PROD
|
||||
|
||||
```bash
|
||||
# Проверить статус
|
||||
docker-compose -f docker-compose.prod.yml ps
|
||||
|
||||
# Проверить логи
|
||||
docker-compose -f docker-compose.prod.yml logs -f
|
||||
|
||||
# Открыть в браузере
|
||||
# https://aiform.clientright.ru/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Важные моменты
|
||||
|
||||
1. **Всегда тестируйте в DEV перед деплоем в PROD**
|
||||
2. **Проверяйте `.env` файл** — убедитесь что там правильные настройки
|
||||
3. **В PROD `APP_ENV=production` и `DEBUG=false`** (устанавливается через docker-compose)
|
||||
4. **Не коммитьте `.env`** — он в `.gitignore`
|
||||
5. **После деплоя проверяйте логи** — `docker-compose -f docker-compose.prod.yml logs`
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Откат изменений (если что-то пошло не так)
|
||||
|
||||
```bash
|
||||
# Откатить к предыдущему коммиту
|
||||
cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form
|
||||
git log --oneline -5 # Найти нужный коммит
|
||||
git checkout <commit-hash>
|
||||
git push aiform_prod main --force
|
||||
|
||||
# Пересобрать
|
||||
docker-compose -f docker-compose.prod.yml up -d --build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📞 Полезные команды
|
||||
|
||||
```bash
|
||||
# Статус контейнеров
|
||||
docker ps | grep aiform
|
||||
|
||||
# Логи DEV
|
||||
docker logs aiform_frontend_dev -f
|
||||
docker logs aiform_backend_dev -f
|
||||
|
||||
# Логи PROD
|
||||
docker logs ticket_form_frontend_prod -f
|
||||
docker logs ticket_form_backend_prod -f
|
||||
|
||||
# Перезапуск PROD
|
||||
docker-compose -f docker-compose.prod.yml restart
|
||||
|
||||
# Полная пересборка PROD
|
||||
docker-compose -f docker-compose.prod.yml down
|
||||
docker-compose -f docker-compose.prod.yml up -d --build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Автор:** AI Assistant + Фёдор
|
||||
**Дата:** 2 января 2025
|
||||
|
||||
Reference in New Issue
Block a user