- Organize files into logical directories (docs/, scripts/, tests/) - Add comprehensive documentation (README, CONTRIBUTING, CHANGELOG) - Create deployment automation scripts - Add Docker production configuration - Update .gitignore and add .dockerignore - Remove temporary and test files from root - Improve settings.py with DEBUG from env variable Added: - README.md with project overview - CONTRIBUTING.md for contributors - CHANGELOG.md for version tracking - PROJECT_STATUS.md with current state - docker-compose.prod.yml for production - nginx.conf for production web server - scripts/deploy.sh for automated deployment - scripts/check-config.sh for configuration validation - scripts/setup-ssl.sh for SSL certificate setup - docs/DEPLOYMENT.md with detailed deployment guide - docs/ENV_VARIABLES.md with all environment variables Moved: - Documentation to docs/ - Scripts to scripts/ - Test files to tests/ Removed: - .history/ directory - Test response JSON files from root - settings_production.py (merged into settings.py) This commit prepares the project for: - Production deployment - Team collaboration - Docker containerization - Proper documentation
155 lines
4.0 KiB
Markdown
155 lines
4.0 KiB
Markdown
# Scripts
|
||
|
||
Скрипты для управления и деплоя SmartSolTech.
|
||
|
||
## Доступные скрипты
|
||
|
||
### 🚀 deploy.sh
|
||
Автоматический деплой приложения в Docker.
|
||
|
||
**Использование:**
|
||
```bash
|
||
chmod +x deploy.sh
|
||
./deploy.sh
|
||
```
|
||
|
||
**Что делает:**
|
||
- Проверяет наличие .env файла
|
||
- Останавливает существующие контейнеры
|
||
- Собирает Docker образы
|
||
- Запускает PostgreSQL
|
||
- Применяет миграции БД
|
||
- Собирает статику
|
||
- Запускает все сервисы
|
||
|
||
---
|
||
|
||
### 🔍 check-config.sh
|
||
Проверка конфигурации проекта перед деплоем.
|
||
|
||
**Использование:**
|
||
```bash
|
||
chmod +x check-config.sh
|
||
./check-config.sh
|
||
```
|
||
|
||
**Проверяет:**
|
||
- Наличие .env файла и обязательных переменных
|
||
- Установку Docker и Docker Compose
|
||
- Наличие необходимых файлов
|
||
- Права доступа к скриптам
|
||
|
||
---
|
||
|
||
### 🔒 setup-ssl.sh
|
||
Настройка SSL сертификатов Let's Encrypt для production.
|
||
|
||
**Использование:**
|
||
```bash
|
||
chmod +x setup-ssl.sh
|
||
./setup-ssl.sh your-domain.com admin@your-domain.com
|
||
```
|
||
|
||
**Параметры:**
|
||
- `domain` - Ваш домен (например, smartsoltech.kr)
|
||
- `email` - Email для уведомлений Let's Encrypt
|
||
|
||
**Что делает:**
|
||
- Создает директории для сертификатов
|
||
- Запрашивает SSL сертификат через Certbot
|
||
- Генерирует конфигурацию Nginx с HTTPS
|
||
- Настраивает автоматическое обновление сертификатов
|
||
|
||
---
|
||
|
||
### 📱 update_telegram_token.py
|
||
Обновление токена Telegram бота в базе данных.
|
||
|
||
**Использование:**
|
||
```bash
|
||
# Внутри Docker контейнера
|
||
docker-compose exec web python scripts/update_telegram_token.py
|
||
|
||
# Или напрямую с Python
|
||
python scripts/update_telegram_token.py
|
||
```
|
||
|
||
**Что делает:**
|
||
- Проверяет валидность нового токена
|
||
- Обновляет токен в базе данных
|
||
- Сохраняет информацию о боте
|
||
|
||
**Получение токена:**
|
||
1. Откройте [@BotFather](https://t.me/BotFather) в Telegram
|
||
2. Отправьте `/mybots`
|
||
3. Выберите своего бота
|
||
4. Нажмите "API Token"
|
||
|
||
---
|
||
|
||
### 🔄 update_bot_token.sh
|
||
Shell скрипт для обновления токена бота (обертка для Python скрипта).
|
||
|
||
**Использование:**
|
||
```bash
|
||
chmod +x update_bot_token.sh
|
||
./update_bot_token.sh "YOUR_BOT_TOKEN"
|
||
```
|
||
|
||
---
|
||
|
||
## Общие рекомендации
|
||
|
||
### Права доступа
|
||
Все скрипты должны быть исполняемыми:
|
||
```bash
|
||
chmod +x scripts/*.sh
|
||
```
|
||
|
||
### Production деплой
|
||
Для production используйте:
|
||
```bash
|
||
# 1. Проверьте конфигурацию
|
||
./scripts/check-config.sh
|
||
|
||
# 2. Настройте SSL (опционально)
|
||
./scripts/setup-ssl.sh your-domain.com your-email@example.com
|
||
|
||
# 3. Запустите деплой с production конфигурацией
|
||
docker-compose -f docker-compose.prod.yml up -d
|
||
```
|
||
|
||
### Development
|
||
Для разработки:
|
||
```bash
|
||
# Используйте обычный docker-compose.yml
|
||
./scripts/deploy.sh
|
||
```
|
||
|
||
## Troubleshooting
|
||
|
||
### Скрипт не запускается
|
||
```bash
|
||
# Проверьте права доступа
|
||
ls -la scripts/
|
||
|
||
# Добавьте права на выполнение
|
||
chmod +x scripts/*.sh
|
||
```
|
||
|
||
### Ошибка "command not found"
|
||
```bash
|
||
# Запускайте скрипты с ./
|
||
./scripts/deploy.sh
|
||
|
||
# Или из корня проекта
|
||
bash scripts/deploy.sh
|
||
```
|
||
|
||
### Docker команды не работают
|
||
Убедитесь, что Docker и Docker Compose установлены:
|
||
```bash
|
||
docker --version
|
||
docker-compose --version
|
||
```
|