# 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 ```