Files
smartsoltech_site/scripts/README.md
Andrew K. Choi d9adac609b chore: reorganize project structure and prepare for deployment
- 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
2025-11-24 07:12:04 +09:00

4.0 KiB
Raw Blame History

Scripts

Скрипты для управления и деплоя SmartSolTech.

Доступные скрипты

🚀 deploy.sh

Автоматический деплой приложения в Docker.

Использование:

chmod +x deploy.sh
./deploy.sh

Что делает:

  • Проверяет наличие .env файла
  • Останавливает существующие контейнеры
  • Собирает Docker образы
  • Запускает PostgreSQL
  • Применяет миграции БД
  • Собирает статику
  • Запускает все сервисы

🔍 check-config.sh

Проверка конфигурации проекта перед деплоем.

Использование:

chmod +x check-config.sh
./check-config.sh

Проверяет:

  • Наличие .env файла и обязательных переменных
  • Установку Docker и Docker Compose
  • Наличие необходимых файлов
  • Права доступа к скриптам

🔒 setup-ssl.sh

Настройка SSL сертификатов Let's Encrypt для production.

Использование:

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 бота в базе данных.

Использование:

# Внутри Docker контейнера
docker-compose exec web python scripts/update_telegram_token.py

# Или напрямую с Python
python scripts/update_telegram_token.py

Что делает:

  • Проверяет валидность нового токена
  • Обновляет токен в базе данных
  • Сохраняет информацию о боте

Получение токена:

  1. Откройте @BotFather в Telegram
  2. Отправьте /mybots
  3. Выберите своего бота
  4. Нажмите "API Token"

🔄 update_bot_token.sh

Shell скрипт для обновления токена бота (обертка для Python скрипта).

Использование:

chmod +x update_bot_token.sh
./update_bot_token.sh "YOUR_BOT_TOKEN"

Общие рекомендации

Права доступа

Все скрипты должны быть исполняемыми:

chmod +x scripts/*.sh

Production деплой

Для production используйте:

# 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

Для разработки:

# Используйте обычный docker-compose.yml
./scripts/deploy.sh

Troubleshooting

Скрипт не запускается

# Проверьте права доступа
ls -la scripts/

# Добавьте права на выполнение
chmod +x scripts/*.sh

Ошибка "command not found"

# Запускайте скрипты с ./
./scripts/deploy.sh

# Или из корня проекта
bash scripts/deploy.sh

Docker команды не работают

Убедитесь, что Docker и Docker Compose установлены:

docker --version
docker-compose --version