Feature: Docker deployment configuration
- Добавлена поддержка docker-compose для развертывания - STATIC_ROOT автоматически переключается в prod (/Volume1/DockerAppsData/npm/data/static/) - Добавлены ALLOWED_HOSTS и CSRF_TRUSTED_ORIGINS из env переменных - Улучшена обработка .env файла (проверка существования) - Добавлен gunicorn в requirements.txt - Добавлены .dockerignore, Dockerfile, docker-compose.yml - Добавлены example файлы для .env.docker и entrypoint.sh - Обновлен .gitignore для исключения файлов с секретами 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,8 +21,11 @@ env = environ.Env(
|
||||
SECRET_KEY=(str, 'django-insecure-default-key-change-in-production'),
|
||||
)
|
||||
|
||||
# Read .env file
|
||||
environ.Env.read_env(BASE_DIR / '.env')
|
||||
# Read .env file (if exists - for local development)
|
||||
# In Docker, environment variables are set via docker-compose env_file
|
||||
env_file = BASE_DIR / '.env'
|
||||
if env_file.exists():
|
||||
environ.Env.read_env(env_file)
|
||||
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
@@ -34,7 +37,14 @@ SECRET_KEY = env('SECRET_KEY')
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = env('DEBUG')
|
||||
|
||||
ALLOWED_HOSTS = ['*'] # Для разработки. В продакшене указать конкретные домены
|
||||
# Allowed hosts: читаем из переменной окружения или используем wildcard для разработки
|
||||
ALLOWED_HOSTS = env.list('ALLOWED_HOSTS', default=['*'])
|
||||
|
||||
# CSRF trusted origins для работы за nginx proxy
|
||||
CSRF_TRUSTED_ORIGINS = env.list('CSRF_TRUSTED_ORIGINS', default=[
|
||||
'https://mix.smaa.by',
|
||||
'https://*.mix.smaa.by',
|
||||
])
|
||||
|
||||
|
||||
# ============================================
|
||||
@@ -212,7 +222,12 @@ USE_TZ = True
|
||||
|
||||
STATIC_URL = '/static/'
|
||||
STATICFILES_DIRS = [BASE_DIR / 'static']
|
||||
STATIC_ROOT = BASE_DIR / 'staticfiles'
|
||||
|
||||
# В production используем внешнюю директорию для nginx
|
||||
if not DEBUG:
|
||||
STATIC_ROOT = '/Volume1/DockerAppsData/npm/data/static/'
|
||||
else:
|
||||
STATIC_ROOT = BASE_DIR / 'staticfiles'
|
||||
|
||||
|
||||
# ============================================
|
||||
|
||||
Reference in New Issue
Block a user