Загрузка медиафайлов пользователями Django в продакшене с помощью Dokku

Я хотел бы обслуживать загруженные пользователем медиафайлы с помощью nginx на том же хосте, что и приложение Django, а не через CDN или S3 или аналогичные ресурсы.

Библиотека django-private-storage может быть использована для защиты медиафайлов за логином: https://github.com/edoburu/django-private-storage

Я развертываю свое приложение Django с помощью Dokku.

Dokku говорит, что следует использовать плагин dokku persistant storage, чтобы пользовательские загрузки сохранялись на хосте. https://dokku.com/docs~v0.9.2/advanced-usage/persistent-storage/

Меня смущает то, что django-private-storage требует, чтобы вы отредактировали конфигурацию для nginx. В частности, он требует, чтобы вы установили расположение обслуживаемого приватного носителя как внутреннее. Чтобы URL не мог быть доступен извне пользователю, который не вошел в систему.

В документации по dokku не объясняется, как использовать персистентное хранилище за логином приложения. Действительно ли мне нужен django-persistant-storage, чтобы иметь возможность записывать загруженные пользователем медиа?

Как я могу объединить эти решения, чтобы мое приложение, которое находится внутри контейнера, могло читать и записывать медиафайлы, которые обслуживаются nginx, и обслуживаются во внутреннем месте, доступ к которому может получить только пользователь, вошедший в приложение?

Вернуться на верх