# Environment Configuration Generator ## Описание Скрипт `scripts/generate_env.sh` создает файл `.env` на основе шаблона `.env.example` с интерактивным вводом параметров или автоматической генерацией безопасных значений. ## Использование ### Интерактивный режим (разработка) ```bash ./scripts/generate_env.sh ``` ### Автоматический режим для продакшена ```bash ./scripts/generate_env.sh --production ``` ### Неинтерактивный режим ```bash ./scripts/generate_env.sh --yes ``` ### Комбинированный режим ```bash ./scripts/generate_env.sh --production --yes ``` ## Функции ### 🔒 Автоматическая генерация безопасных паролей - Django SECRET_KEY (криптографически стойкий) - Пароли базы данных (случайные 25-символьные) - Все пароли генерируются с использованием OpenSSL или Python secrets ### 🚀 Продакшен режим (`--production`) - Автоматически устанавливает `DJANGO_DEBUG=False` - Включает SSL настройки (HSTS, SSL redirect) - Генерирует криптографически стойкие пароли - Запрашивает домен и email для SSL сертификатов - Настраивает CORS только для указанного домена ### ⚡ Неинтерактивный режим (`--yes`) - Использует значения из переменных окружения - Подходит для CI/CD и автоматизированного развертывания - Сохраняет значения по умолчанию из `.env.example` ## Примеры ### Быстрая настройка для разработки ```bash # Создаст .env с базовыми настройками для localhost ./scripts/generate_env.sh --yes ``` ### Настройка продакшена ```bash # Интерактивная настройка с вводом домена ./scripts/generate_env.sh --production # Или автоматически, если домен в переменной окружения DOMAIN=example.com EMAIL=admin@example.com ./scripts/generate_env.sh --production --yes ``` ### Переменные окружения для автоматизации ```bash export DJANGO_SECRET_KEY="your-secret-key" export DATABASE_PASSWORD="your-db-password" export DOMAIN="example.com" export EMAIL="admin@example.com" ./scripts/generate_env.sh --yes ``` ## Безопасность - Пароли генерируются криптографически стойкими методами - Секретные ключи никогда не выводятся в консоль - В продакшен режиме автоматически отключается DEBUG - Включаются все необходимые заголовки безопасности ## Интеграция Скрипт интегрирован в: - `setup.sh` - основной скрипт установки - `Makefile` - команды для управления проектом - `scripts/master-deploy.sh` - скрипт развертывания ## Совместимость - ✅ Linux/macOS/WSL - ✅ Docker environments - ✅ CI/CD pipelines - ✅ OpenSSL и Python 3.x