aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2019-10-22 11:52:21 -0500
committerMark Felder <feld@FreeBSD.org>2019-10-22 11:52:21 -0500
commitc077dc7af5e2a378223a8d2862df1d52877ea245 (patch)
tree4e7966af0a5050a1475a3037ba765d9e849ba84b
parent6281e4795a51034f026aeb833093e47b47255799 (diff)
downloadpleroma-c077dc7af5e2a378223a8d2862df1d52877ea245.tar.gz
Initial doc about storing remote media
-rw-r--r--docs/administration/storing_remote_media.md36
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]
+```