- 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
4.5 KiB
4.5 KiB
SmartSolTech - Environment Variables Summary
✅ Все переменные окружения для .env файла
🔐 Django Settings (обязательные)
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 (обязательные)
POSTGRES_DB=smartsoltech_db
POSTGRES_USER=smartsoltech_user
POSTGRES_PASSWORD=your-strong-password-here
POSTGRES_HOST=postgres_db
🔧 PgAdmin (обязательные)
PGADMIN_DEFAULT_EMAIL=admin@smartsoltech.kr
PGADMIN_DEFAULT_PASSWORD=your-pgadmin-password
📊 Zabbix Agent (опционально)
ZBX_SERVER_HOST=your-zabbix-server-ip
🔒 Security Settings для Production (опционально)
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 настройки
🚀 Быстрый старт
-
Создайте .env файл:
cp .env.example .env -
Сгенерируйте SECRET_KEY:
python -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())" -
Отредактируйте .env:
nano .env -
Проверьте конфигурацию:
./check-config.sh -
Запустите деплой:
./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 для ожидания БД
⚠️ Важные замечания
- Никогда не коммитьте .env файл в git! Он в .gitignore
- В production обязательно установите
DEBUG=False - Используйте сильные пароли для всех сервисов
- Регулярно обновляйте зависимости
- Настройте backup базы данных
- Используйте HTTPS в production
🆘 Поддержка
Для получения помощи:
- Проверьте логи:
docker-compose logs -f - Смотрите DEPLOYMENT.md для troubleshooting
- Используйте
check-config.shдля диагностики