3.5 KiB
3.5 KiB
Environment Configuration Generator
Описание
Скрипт scripts/generate_env.sh создает файл .env на основе шаблона .env.example с интерактивным вводом параметров или автоматической генерацией безопасных значений.
Использование
Интерактивный режим (разработка)
./scripts/generate_env.sh
Автоматический режим для продакшена
./scripts/generate_env.sh --production
Неинтерактивный режим
./scripts/generate_env.sh --yes
Комбинированный режим
./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
Примеры
Быстрая настройка для разработки
# Создаст .env с базовыми настройками для localhost
./scripts/generate_env.sh --yes
Настройка продакшена
# Интерактивная настройка с вводом домена
./scripts/generate_env.sh --production
# Или автоматически, если домен в переменной окружения
DOMAIN=example.com EMAIL=admin@example.com ./scripts/generate_env.sh --production --yes
Переменные окружения для автоматизации
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