Files
links/scripts/README_env_generator.md
Andrey K. Choi 20014d3a81
Some checks failed
continuous-integration/drone/push Build is failing
environment emprovements
2025-11-04 21:18:15 +09:00

94 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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