refactor: Реорганизация структуры для контейнеризации

- database/ папка в корне проекта для БД
- public/ для статики и медиа (монтируются отдельно)
- Обновлены docker-compose файлы с правильными томами
This commit is contained in:
2026-03-31 01:25:15 +03:00
parent 493de32998
commit ef80a66b69
5 changed files with 17 additions and 8 deletions

View File

@@ -12,8 +12,10 @@ ADMIN_URL=hidden-admin-panel/
# ======================================== # ========================================
# База данных - SQLite (для разработки) # База данных - SQLite (для разработки)
# Файл БД находится в папке database в корне проекта (будет смонтирована в Docker)
# ======================================== # ========================================
DB_ENGINE=django.db.backends.sqlite3 DB_ENGINE=django.db.backends.sqlite3
DB_NAME=database/db.sqlite3
DB_NAME=db.sqlite3 DB_NAME=db.sqlite3
# ======================================== # ========================================

0
database/.gitkeep Normal file
View File

View File

@@ -27,10 +27,11 @@ services:
- DB_PASSWORD=${POSTGRES_PASSWORD:-postgres} - DB_PASSWORD=${POSTGRES_PASSWORD:-postgres}
- PYTHONUNBUFFERED=1 - PYTHONUNBUFFERED=1
# Тома для статических файлов и медиа # Тома для медиа, статики и БД
volumes: volumes:
- django_staticfiles:/app/public/static - public_media:/app/public/media
- django_mediafiles:/app/public/media - public_static:/app/public/static
- database:/app/database
- ./logs:/app/logs - ./logs:/app/logs
# Перенаправляем порты # Перенаправляем порты
@@ -114,9 +115,11 @@ services:
volumes: volumes:
postgres_data: postgres_data:
driver: local driver: local
django_staticfiles: public_media:
driver: local driver: local
django_mediafiles: public_static:
driver: local
database:
driver: local driver: local
# Сеть для сервисов # Сеть для сервисов

View File

@@ -24,8 +24,10 @@ services:
# Монтируем текущую директорию для разработки # Монтируем текущую директорию для разработки
volumes: volumes:
- .:/app - .:/app
- django_staticfiles:/app/public/static - ./public/static:/app/public/static
- django_mediafiles:/app/public/media - ./public/media:/app/public/media
- ./database:/app/database
- ./logs:/app/logs
# Перенаправляем порты # Перенаправляем порты
ports: ports:

View File

@@ -143,7 +143,9 @@ elif 'mysql' in DB_ENGINE:
} }
else: else:
# SQLite (по умолчанию для разработки) # SQLite (по умолчанию для разработки)
db_path = get_env('DB_NAME', str(BASE_DIR / 'db.sqlite3')) # DATABASE_ROOT: корень проекта (где лежит manage.py родительской папки)
PROJECT_ROOT = BASE_DIR.parent
db_path = get_env('DB_NAME', str(PROJECT_ROOT / 'database' / 'db.sqlite3'))
DATABASES = { DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.sqlite3', 'ENGINE': 'django.db.backends.sqlite3',