28 lines
2.1 KiB
Markdown
28 lines
2.1 KiB
Markdown
# Папка для медиа-файлов (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`), есть права на чтение этой директории и файлов в ней.
|
||
|