Files
aiform_prod/ENVIRONMENTS.md
AI Assistant 2e45786e46 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 интеграции
2026-01-29 16:12:48 +03:00

7.6 KiB
Raw Blame History

🚀 Руководство по DEV и PROD окружениям

📋 Обзор

Проект поддерживает два отдельных окружения:

  • DEV (Development) — для разработки и тестирования
  • PROD (Production) — для продакшна

🏗️ Структура файлов

ticket_form/
├─ docker-compose.dev.yml    ← Конфигурация для разработки
├─ docker-compose.prod.yml    ← Конфигурация для продакшна
├─ .env.dev                  ← Переменные окружения для DEV
├─ .env.prod                 ← Переменные окружения для PROD
├─ .env.example              ← Шаблон переменных окружения
├─ start-dev.sh              ← Скрипт запуска DEV
├─ start-prod.sh             ← Скрипт запуска PROD
└─ ENVIRONMENTS.md            ← Эта документация

🛠️ Быстрый старт

1. Первоначальная настройка

cd /var/www/fastuser/data/www/crm.clientright.ru/ticket_form

# Создаём .env файлы из шаблона
cp .env.example .env.dev
cp .env.example .env.prod

# Редактируем .env.dev (для разработки)
nano .env.dev
# Установите: APP_ENV=development, DEBUG=true

# Редактируем .env.prod (для продакшна)
nano .env.prod
# Установите: APP_ENV=production, DEBUG=false
# Проверьте все URL и API ключи

2. Запуск DEV окружения

# Вариант 1: Используя скрипт (рекомендуется)
./start-dev.sh

# Вариант 2: Вручную
docker-compose -f docker-compose.dev.yml up -d --build

Доступ:

3. Запуск PROD окружения

# Вариант 1: Используя скрипт (рекомендуется)
./start-prod.sh

# Вариант 2: Вручную
docker-compose -f docker-compose.prod.yml up -d --build

Доступ:


🔍 Различия между DEV и PROD

Параметр DEV PROD
Порты 5175 (frontend), 8200 (backend) 5176 (frontend), 8200 (backend)
Контейнеры *_dev *_prod
PostgreSQL Локальный контейнер (порт 5433) Внешний (147.45.189.234:5432)
Redis Локальный контейнер (порт 6380) Системный (localhost:6379)
Debug Включен Выключен
Логи DEBUG уровень INFO уровень
Hot Reload Включен Выключен
Build Dev режим Production оптимизация
Healthcheck Нет Есть

📝 Управление окружениями

Остановка

# Остановить DEV
docker-compose -f docker-compose.dev.yml down

# Остановить PROD
docker-compose -f docker-compose.prod.yml down

Просмотр логов

# Логи DEV
docker-compose -f docker-compose.dev.yml logs -f

# Логи PROD
docker-compose -f docker-compose.prod.yml logs -f

# Логи конкретного сервиса
docker-compose -f docker-compose.dev.yml logs -f ticket_form_backend_dev

Перезапуск

# Перезапуск DEV
docker-compose -f docker-compose.dev.yml restart

# Перезапуск PROD
docker-compose -f docker-compose.prod.yml restart

Пересборка

# Пересборка DEV
docker-compose -f docker-compose.dev.yml up -d --build

# Пересборка PROD
docker-compose -f docker-compose.prod.yml up -d --build

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

Основные переменные

Переменная DEV значение PROD значение
APP_ENV development production
DEBUG true false
LOG_LEVEL DEBUG INFO
VITE_API_URL http://localhost:8200 https://aiform.clientright.ru/api
NODE_ENV development production

Базы данных

DEV:

  • PostgreSQL: ticket_form_postgres_dev (контейнер, порт 5433)
  • Redis: ticket_form_redis_dev (контейнер, порт 6380)

PROD:

  • PostgreSQL: 147.45.189.234:5432 (внешний)
  • Redis: localhost:6379 (системный)
  • MySQL: localhost:3306 (системный)

🐛 Отладка

Проверка статуса

# Статус DEV контейнеров
docker-compose -f docker-compose.dev.yml ps

# Статус PROD контейнеров
docker-compose -f docker-compose.prod.yml ps

# Все контейнеры проекта
docker ps | grep ticket_form

Проверка подключений

# Проверка backend health
curl http://localhost:8200/health

# Проверка frontend
curl http://localhost:5175

# Проверка PostgreSQL (DEV)
docker exec -it ticket_form_postgres_dev psql -U erv_user -d erv_db_dev

# Проверка Redis (DEV)
docker exec -it ticket_form_redis_dev redis-cli -a redis_dev_pass ping

📦 Git репозитории

Структура репозиториев

  • erv-platform (origin) — основной репозиторий
  • aiform_prod — production версия
  • aiform_dev — development версия (в папке aiform_dev/)

Работа с Git

# Push в основной репозиторий
git push origin main

# Push в prod репозиторий
git push aiform_prod main

# Push в оба
git push origin main && git push aiform_prod main

⚠️ Важные замечания

  1. Никогда не коммитьте .env.dev и .env.prod — они в .gitignore
  2. Всегда проверяйте .env.prod перед деплоем в продакшн
  3. DEV и PROD могут работать одновременно на разных портах
  4. В PROD используйте внешние БД — не создавайте локальные контейнеры
  5. Healthcheck в PROD — проверяйте статус регулярно

🔄 Миграция с текущей структуры

Если у вас уже запущены контейнеры со старыми именами:

# Остановите старые контейнеры
docker stop ticket_form_frontend ticket_form_backend ticket_form_frontend_prod

# Удалите старые контейнеры (опционально)
docker rm ticket_form_frontend ticket_form_backend ticket_form_frontend_prod

# Запустите новые через скрипты
./start-dev.sh
./start-prod.sh

📞 Поддержка

При проблемах:

  1. Проверьте логи: docker-compose -f docker-compose.*.yml logs
  2. Проверьте статус: docker-compose -f docker-compose.*.yml ps
  3. Проверьте .env файлы на корректность
  4. Убедитесь, что порты не заняты: netstat -tulpn | grep -E "5175|5176|8200"

Автор: AI Assistant + Фёдор
Дата: 2 января 2025