This commit is contained in:
94
scripts/README_env_generator.md
Normal file
94
scripts/README_env_generator.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user