add: описание для media-каталога и .gitignore чтоб в него не пушилось.

This commit is contained in:
2026-02-20 01:49:43 +03:00
parent 17328bcc83
commit e4e156458c
2 changed files with 33 additions and 0 deletions

6
.gitignore vendored
View File

@@ -255,3 +255,9 @@ cython_debug/
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
.idea/
# Static / Media
# public/static/ # Исходники статики нужны collectstatic
# public/media # Медиа файлы НЕ нужны в образе, они монтируются как volume
# Мы игнорируем содержимое папки public/media, но оставляем саму папку и README.md
public/media/*
!public/media/README.md

27
public/media/README.md Normal file
View File

@@ -0,0 +1,27 @@
# Папка для медиа-файлов (Media)
Эта директория предназначена для хранения загружаемого контента (изображений, документов), который генерируется или загружается пользователями в процессе работы Django-приложения.
## Как это работает с Docker
В `docker-compose.prod.yml` настроено монтирование этой папки как Docker Volume:
```yaml
volumes:
- ./media:/app/public/media
```
* **На хосте (сервере):** Файлы физически хранятся в папке `media` рядом с `docker-compose.yml`.
* **В контейнере:** Django видит их по пути `/app/public/media` (настройка `MEDIA_ROOT`).
* **Nginx:** Внешний Nginx настроен на прямую отдачу файлов из этой папки хоста, минуя Django.
## Содержимое репозитория
В репозитории эта папка содержит только этот `README.md`.
При развертывании контейнера через docker-compose (с volume `./media:/app/public/media`), содержимое этой папки на хосте становится доступным приложению.
**Автоматически создаваемые файлы:**
При старте контейнера в этой папке автоматически создается каталог `errors/`, куда копируются статические HTML-файлы для отображения ошибок (404.html, 500.html), чтобы внешний Nginx мог их отдавать, даже если Django, gunicorn или весь контейнер недоступен.
> **Важно:** Убедитесь, что у пользователя, под которым работает Nginx (обычно `www-data`), есть права на чтение этой директории и файлов в ней.