- 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
135 lines
4.5 KiB
Markdown
135 lines
4.5 KiB
Markdown
# SmartSolTech - Environment Variables Summary
|
||
|
||
## ✅ Все переменные окружения для .env файла
|
||
|
||
### 🔐 Django Settings (обязательные)
|
||
```env
|
||
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 (обязательные)
|
||
```env
|
||
POSTGRES_DB=smartsoltech_db
|
||
POSTGRES_USER=smartsoltech_user
|
||
POSTGRES_PASSWORD=your-strong-password-here
|
||
POSTGRES_HOST=postgres_db
|
||
```
|
||
|
||
### 🔧 PgAdmin (обязательные)
|
||
```env
|
||
PGADMIN_DEFAULT_EMAIL=admin@smartsoltech.kr
|
||
PGADMIN_DEFAULT_PASSWORD=your-pgadmin-password
|
||
```
|
||
|
||
### 📊 Zabbix Agent (опционально)
|
||
```env
|
||
ZBX_SERVER_HOST=your-zabbix-server-ip
|
||
```
|
||
|
||
### 🔒 Security Settings для Production (опционально)
|
||
```env
|
||
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 файл:**
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
2. **Сгенерируйте SECRET_KEY:**
|
||
```bash
|
||
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
|
||
```
|
||
|
||
3. **Отредактируйте .env:**
|
||
```bash
|
||
nano .env
|
||
```
|
||
|
||
4. **Проверьте конфигурацию:**
|
||
```bash
|
||
./check-config.sh
|
||
```
|
||
|
||
5. **Запустите деплой:**
|
||
```bash
|
||
./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` для диагностики
|