diff options
author | Mark Felder <feld@FreeBSD.org> | 2019-10-22 11:52:21 -0500 |
---|---|---|
committer | Mark Felder <feld@FreeBSD.org> | 2019-10-22 11:52:21 -0500 |
commit | c077dc7af5e2a378223a8d2862df1d52877ea245 (patch) | |
tree | 4e7966af0a5050a1475a3037ba765d9e849ba84b | |
parent | 6281e4795a51034f026aeb833093e47b47255799 (diff) | |
download | pleroma-c077dc7af5e2a378223a8d2862df1d52877ea245.tar.gz |
Initial doc about storing remote media
-rw-r--r-- | docs/administration/storing_remote_media.md | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/administration/storing_remote_media.md b/docs/administration/storing_remote_media.md new file mode 100644 index 000000000..7edda2753 --- /dev/null +++ b/docs/administration/storing_remote_media.md @@ -0,0 +1,36 @@ +# Storing Remote Media + +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 +forever and to activate the `MediaProxyWarmingPolicy` MRF policy in Pleroma which will automatically fetch all media through the proxy +as soon as the post is received by your instance. + +## Nginx + +We should be using `proxy_store` here I think??? + +``` + location ~ ^/(media|proxy) { + proxy_cache pleroma_media_cache; + slice 1m; + proxy_cache_key $host$uri$is_args$args$slice_range; + proxy_set_header Range $slice_range; + proxy_http_version 1.1; + proxy_cache_valid 200 206 301 304 1h; + proxy_cache_lock on; + proxy_ignore_client_abort on; + proxy_buffering on; + chunked_transfer_encoding on; + proxy_ignore_headers Cache-Control; + proxy_hide_header Cache-Control; + proxy_pass http://127.0.0.1:4000; + } +``` + +## Pleroma + +Add to your `prod.secret.exs`: + +``` +config :pleroma, :instance, + rewrite_policy: [Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy] +``` |