feat: оптимизация Docker контейнера для разработки

Обновлен Dockerfile с двухэтапной сборкой, экспортом зависимостей через poetry, сборкой статики и удалением лишних файлов (экономия ~20МБ).
Обновлен docker-compose.yml с привязкой к localhost для безопасности.
Обновлен .dockerignore для исключения ненужных файлов (source maps, RTL CSS, TTF).
Добавлены таймауты SQLite в settings.py.
Минимальные параметры Gunicorn: 1 worker, timeout 30s, max-requests 100.
Тестировано и работает на http://localhost:8040
This commit is contained in:
2026-03-31 18:57:33 +03:00
parent 6e7a4c52e0
commit 792d152be2
4 changed files with 108 additions and 50 deletions

View File

@@ -110,6 +110,12 @@ TEMPLATES = [
WSGI_APPLICATION = 'rosmorport_tsts.wsgi.application'
# CSRF Configuration
# CSRF_TRUSTED_ORIGINS используется для Docker, Nginx и других reverse proxy
# Содержит список разрешенных источников для CSRF защиты (разделенные запятой)
csrf_trusted_origins = get_env('CSRF_TRUSTED_ORIGINS', 'http://127.0.0.1:8000,http://localhost:8000')
CSRF_TRUSTED_ORIGINS = [origin.strip() for origin in csrf_trusted_origins.split(',')]
# Database
# https://docs.djangoproject.com/en/5.0/ref/settings/#databases
@@ -123,6 +129,12 @@ DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': str(db_path),
# Таймауты для SQLite - оптимизированы для быстрых операций без нагрузок
'OPTIONS': {
'timeout': 5, # Таймаут ожидания блокировки БД (в секундах)
},
# Параметры пула подключений (не критичны для SQLite, но для совместимости)
'CONN_MAX_AGE': 60, # Время жизни подключения (60 сек)
}
}