Files
smartsoltech_site/docs/ENV_VARIABLES.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.5 KiB
Raw Blame History

SmartSolTech - Environment Variables Summary

Все переменные окружения для .env файла

🔐 Django Settings (обязательные)

SECRET_KEY=your-secret-key-here-change-this-in-production
DEBUG=False
ALLOWED_HOSTS=localhost,127.0.0.1,your-domain.com
CSRF_TRUSTED_ORIGINS=http://localhost:8000,https://your-domain.com

🗄️ PostgreSQL Database (обязательные)

POSTGRES_DB=smartsoltech_db
POSTGRES_USER=smartsoltech_user
POSTGRES_PASSWORD=your-strong-password-here
POSTGRES_HOST=postgres_db

🔧 PgAdmin (обязательные)

PGADMIN_DEFAULT_EMAIL=admin@smartsoltech.kr
PGADMIN_DEFAULT_PASSWORD=your-pgadmin-password

📊 Zabbix Agent (опционально)

ZBX_SERVER_HOST=your-zabbix-server-ip

🔒 Security Settings для Production (опционально)

SECURE_SSL_REDIRECT=True
SESSION_COOKIE_SECURE=True
CSRF_COOKIE_SECURE=True

📝 Настройки через админ-панель Django

Следующие настройки НЕ хранятся в .env, а настраиваются через админ-панель Django:

📱 Telegram Bot Settings

  • Токен бота (от @BotFather)
  • Имя бота
  • Webhook URL (опционально)
  • Используется скрипт update_telegram_token.py для обновления

📧 Email Settings

  • SMTP сервер
  • SMTP порт
  • Отправитель email
  • Пароль
  • TLS/SSL настройки

🚀 Быстрый старт

  1. Создайте .env файл:

    cp .env.example .env
    
  2. Сгенерируйте SECRET_KEY:

    python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
    
  3. Отредактируйте .env:

    nano .env
    
  4. Проверьте конфигурацию:

    ./check-config.sh
    
  5. Запустите деплой:

    ./deploy.sh
    

📂 Созданные файлы

Конфигурационные файлы:

  • .env.example - Пример переменных окружения
  • docker-compose.yml - Обновлён для development
  • docker-compose.prod.yml - Production конфигурация с Nginx
  • Dockerfile - Обновлён с улучшениями
  • nginx.conf - Конфигурация Nginx для production

Скрипты:

  • deploy.sh - Автоматический деплой
  • check-config.sh - Проверка конфигурации
  • setup-ssl.sh - Настройка SSL сертификатов

Документация:

  • DEPLOYMENT.md - Подробная документация по деплою
  • ENV_VARIABLES.md - Этот файл
  • settings_production.py - Дополнительные настройки для production

🔍 Изменения в коде

smartsoltech/settings.py:

  • Добавлена поддержка DEBUG из .env (с приведением к bool)
  • Используется python-decouple для управления переменными

docker-compose.yml:

  • Добавлены health checks для всех сервисов
  • Добавлены volumes для persistent storage
  • Улучшены зависимости между сервисами
  • Добавлены restart policies

Dockerfile:

  • Установка системных зависимостей (postgresql-client, netcat)
  • Улучшенная обработка статики
  • Health check для контейнера
  • Использование wait-for-it.sh для ожидания БД

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

  1. Никогда не коммитьте .env файл в git! Он в .gitignore
  2. В production обязательно установите DEBUG=False
  3. Используйте сильные пароли для всех сервисов
  4. Регулярно обновляйте зависимости
  5. Настройте backup базы данных
  6. Используйте HTTPS в production

🆘 Поддержка

Для получения помощи:

  1. Проверьте логи: docker-compose logs -f
  2. Смотрите DEPLOYMENT.md для troubleshooting
  3. Используйте check-config.sh для диагностики