logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

storing_remote_media.md (1331B)


  1. # Storing Remote Media
  2. Pleroma does not store remote/federated media by default. The best way to achieve this is to change Nginx to keep its reverse proxy cache
  3. for a year and to activate the `MediaProxyWarmingPolicy` MRF policy in Pleroma which will automatically fetch all media through the proxy
  4. as soon as the post is received by your instance.
  5. ## Nginx
  6. ```
  7. proxy_cache_path /long/term/storage/path/pleroma-media-cache levels=1:2
  8. keys_zone=pleroma_media_cache:10m inactive=1y use_temp_path=off;
  9. location ~ ^/(media|proxy) {
  10. proxy_cache pleroma_media_cache;
  11. slice 1m;
  12. proxy_cache_key $host$uri$is_args$args$slice_range;
  13. proxy_set_header Range $slice_range;
  14. proxy_http_version 1.1;
  15. proxy_cache_valid 206 301 302 304 1h;
  16. proxy_cache_valid 200 1y;
  17. proxy_cache_use_stale error timeout invalid_header updating;
  18. proxy_ignore_client_abort on;
  19. proxy_buffering on;
  20. chunked_transfer_encoding on;
  21. proxy_ignore_headers Cache-Control Expires;
  22. proxy_hide_header Cache-Control Expires;
  23. proxy_pass http://127.0.0.1:4000;
  24. }
  25. ```
  26. ## Pleroma
  27. Add to your `prod.secret.exs`:
  28. ```
  29. config :pleroma, :mrf,
  30. policies: [Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy]
  31. ```