diff --git a/SCRIPTS_README.md b/SCRIPTS_README.md new file mode 100644 index 0000000..567c440 --- /dev/null +++ b/SCRIPTS_README.md @@ -0,0 +1,157 @@ +# SmartSolTech - Скрипты управления проектом + +Этот набор скриптов предназначен для автоматизации процессов разработки и развертывания проекта SmartSolTech. + +## Доступные скрипты + +### 🚀 `./update.sh` - Полное обновление проекта +Выполняет полный цикл обновления: +- Создание бэкапа в удаленном репозитории +- Обновление кода из Git +- Остановка текущих контейнеров +- Пересборка Docker образов +- Запуск новых контейнеров +- Выполнение миграций Django +- Сбор статических файлов +- Проверка здоровья сервисов + +**Использование:** +```bash +./update.sh # Полное обновление +./update.sh --help # Показать справку +./update.sh --logs # Показать логи без обновления +./update.sh --status # Показать статус сервисов +``` + +### ▶️ `./start.sh` - Быстрый запуск +Быстро запускает все сервисы проекта: +- Запуск Docker контейнеров +- Проверка статуса сервисов +- Отображение доступных ресурсов + +**Использование:** +```bash +./start.sh +``` + +### ⏹️ `./stop.sh` - Остановка сервисов +Останавливает сервисы с различными опциями: +- Простая остановка контейнеров +- Остановка с удалением контейнеров и волюмов +- Полная очистка (включая образы) + +**Использование:** +```bash +./stop.sh # Простая остановка +./stop.sh --remove # Остановка + удаление контейнеров и волюмов +./stop.sh --clean # Полная очистка (контейнеры + образы + волюмы) +./stop.sh --help # Показать справку +``` + +### 📋 `./logs.sh` - Просмотр логов +Показывает логи сервисов в реальном времени: +- Все логи или конкретного сервиса +- Последние N строк логов +- Интерактивный режим + +**Использование:** +```bash +./logs.sh # Все логи в реальном времени +./logs.sh web # Логи только веб-сервера +./logs.sh db # Логи базы данных +./logs.sh pgadmin # Логи PgAdmin +./logs.sh --tail 50 # Последние 50 строк +./logs.sh --help # Показать справку +``` + +## Доступные сервисы + +После запуска будут доступны: +- **Веб-сайт**: http://localhost:8000 +- **Админка Django**: http://localhost:8000/admin +- **PgAdmin**: http://localhost:8080 + +## Требования + +Убедитесь что установлены: +- Git +- Docker +- Docker Compose +- curl (для проверки здоровья) + +## Безопасность + +- Скрипт автоматически создает бэкапы перед обновлением +- Локальные изменения сохраняются в Git stash +- Staticfiles автоматически очищаются для избежания конфликтов +- Проверка статуса сервисов после запуска + +## Примеры использования + +### Ежедневное обновление +```bash +# Полное обновление с проверкой +./update.sh + +# Если что-то пошло не так - смотрим логи +./logs.sh --tail 100 +``` + +### Разработка +```bash +# Запуск для разработки +./start.sh + +# Просмотр логов во время разработки +./logs.sh web + +# Остановка после работы +./stop.sh +``` + +### Полная перезагрузка +```bash +# Полная очистка и пересборка +./stop.sh --clean +./update.sh +``` + +## Troubleshooting + +### Проблемы с контейнерами +```bash +# Проверить статус +./logs.sh --help +docker-compose ps + +# Перезапустить проблемный сервис +docker-compose restart web +``` + +### Проблемы с базой данных +```bash +# Проверить логи БД +./logs.sh db + +# Принудительная пересборка +./stop.sh --remove +./update.sh +``` + +### Проблемы с Git +```bash +# Проверить статус +git status + +# Восстановить из stash если нужно +git stash list +git stash apply +``` + +## Настройка автоматического обновления + +Добавьте в crontab для автоматического обновления: +```bash +# Обновление каждый день в 3:00 утра +0 3 * * * cd /path/to/project && ./update.sh >> /var/log/smartsoltech-update.log 2>&1 +``` \ No newline at end of file